public static int SumFastEnumerable(ListLike <int> list) { var sum = 0; var e = list.GetFastEnumerator(); var x = e.TryMoveNext(out var success); while (success) { sum += x; x = e.TryMoveNext(out success); } return(sum); }
[Benchmark] public int SumFastEnumeratorInterface() => Sum.SumFastEnumeratorInterface(_data.GetFastEnumerator());
[Fact] public void SumFastEnumeratorInterface() => Assert.Equal(_expected, Sum.SumFastEnumeratorInterface(_data.GetFastEnumerator()));