(NOTE: All of this is with version 3.0.0-beta48 from NuGet.)
If I do the following:
ValueEnumerable.Range(0, 10).Sum()
I get back 50 for the result, when the value should be 45.
If I change the above to:
ValueEnumerable.Range(0, 10).Select(x => x).Sum() or ValueEnumerable.Range(0, 10).Sum(x => x)
I get back the proper result of 45. It seems that adding almost any operation before the Sum (or a selector delegate within Sum) allows it to return the proper result, but just a straight parameterless Sum does not. For instance, even:
(NOTE: All of this is with version 3.0.0-beta48 from NuGet.)
If I do the following:
ValueEnumerable.Range(0, 10).Sum()
I get back
50
for the result, when the value should be45
.If I change the above to:
ValueEnumerable.Range(0, 10).Select(x => x).Sum()
orValueEnumerable.Range(0, 10).Sum(x => x)
I get back the proper result of
45
. It seems that adding almost any operation before the Sum (or a selector delegate within Sum) allows it to return the proper result, but just a straight parameterless Sum does not. For instance, even:ValueEnumerable.Range(0, 10).Where(x => true).Sum()
I get back the proper result of
45
. But doing:ValueEnumerable.Range(0, 10).Skip(0).Sum()
I get back the wrong result of
50
. (Take also doesn't change the result to the correct one.)