Skip to content

Commit fb614e2

Browse files
committed
[List] Improve Visit
1 parent 79b476d commit fb614e2

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

src/StructLinq.BCL/List/ListEnumerable.cs

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -61,16 +61,19 @@ public T Get(int i)
6161
public VisitStatus Visit<TVisitor>(ref TVisitor visitor)
6262
where TVisitor : IVisitor<T>
6363
{
64-
var count = Count;
65-
var s = start;
66-
var array = layout.Items;
67-
for (int i = 0; i < count; i++)
64+
unchecked
6865
{
69-
if (!visitor.Visit(array[s+i]))
70-
return VisitStatus.VisitorFinished;
71-
}
66+
var s = start;
67+
var end = Count + s;
68+
var array = layout.Items;
69+
for (int i = s; i < end; i++)
70+
{
71+
if (!visitor.Visit(array[i]))
72+
return VisitStatus.VisitorFinished;
73+
}
7274

73-
return VisitStatus.EnumeratorFinished;
75+
return VisitStatus.EnumeratorFinished;
76+
}
7477
}
7578
}
7679
}

0 commit comments

Comments
 (0)