Skip to content

Commit aad5791

Browse files
committed
оптимизации по рекомендациям
1 parent fc6f41b commit aad5791

File tree

4 files changed

+11
-13
lines changed

4 files changed

+11
-13
lines changed

src/OneScript.StandardLibrary/Collections/Indexes/CollectionIndex.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public CollectionIndex(IIndexCollectionSource source, IEnumerable<IValue> fields
4242

4343
internal bool CanBeUsedFor(IEnumerable<IValue> searchFields)
4444
{
45-
return _fields.Count>0 && _fields.ToHashSet().IsSubsetOf(searchFields);
45+
return _fields.Count > 0 && _fields.All(f => searchFields.Contains(f));
4646
}
4747

4848
private CollectionIndexKey IndexKey(PropertyNameIndexAccessor source)

src/OneScript.StandardLibrary/Collections/ValueTable/ValueTable.cs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -84,13 +84,14 @@ public ValueTableRow Add()
8484
[ContextMethod("Вставить", "Insert")]
8585
public ValueTableRow Insert(int index)
8686
{
87-
var row = new ValueTableRow(this);
8887
if (index < 0 || index > _rows.Count)
89-
_rows.Add(row); // для совместимости с 1С, хотя логичней было бы исключение
90-
else
91-
_rows.Insert(index, row);
88+
return Add(); // для совместимости с 1С, хотя логичней было бы исключение
9289

93-
Indexes.ElementAdded(row);
90+
var row = new ValueTableRow(this);
91+
_rows.Insert(index, row);
92+
93+
if (Indexes.Count() > 0)
94+
Indexes.ElementAdded(row);
9495
return row;
9596
}
9697

@@ -347,7 +348,7 @@ public ArrayImpl FindRows(StructureImpl filter)
347348

348349
var mapped = ColumnsMap(filter);
349350
var suitableIndex = Indexes.FindSuitableIndex(mapped.Keys());
350-
var dataToScan = suitableIndex != null ? suitableIndex.GetData(mapped) : _rows;
351+
var dataToScan = suitableIndex?.GetData(mapped) ?? _rows;
351352

352353
foreach (var element in dataToScan)
353354
{

src/OneScript.StandardLibrary/Collections/ValueTable/ValueTableColumn.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public class ValueTableColumn : AutoContext<ValueTableColumn>
2424
private readonly TypeDescription _valueType;
2525
private readonly WeakReference _owner;
2626

27-
public bool IsIndexable { get; set; }
27+
public bool IsIndexable { get; internal set; }
2828

2929
public ValueTableColumn(ValueTableColumnCollection owner, string name, string title, TypeDescription type, int width)
3030
{

src/OneScript.StandardLibrary/Collections/ValueTable/ValueTableRow.cs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,8 @@ public ValueTableRow(ValueTable owner)
2424
_owner = owner;
2525
}
2626

27-
public int Count()
28-
{
29-
return _owner.Columns.Count();
30-
}
31-
27+
public int Count() => _owner.Columns.Count();
28+
3229
public int Count(IBslProcess process) => Count();
3330

3431
/// <summary>

0 commit comments

Comments
 (0)