Orace
Orace
For readability, I use the not yet merged `ValueTuple` providing overloads of `Lead` and `Lag`. Current behavior is: ```C# var nums = new[] {1,2,3 }; nums.Lag(1); // [1,0],[2,1],[3,2] nums.Lead(1); //...
This PR fix #630 It depends on #655 that fix #652 It also do a part of #654
@atifaziz you can review #655 first
GroupBy will consume the full sequence on first iteration. A handcrafted implementation may avoid that.
`ports` is an array of lazy sequences. And with the help of some buffer the source sequence is not enumerate more than needed. Not like GroupBy that will consume the...
I will try to build a useful example. Let says that you have the logs of a connection between a client and a server. All client request start with `Q`...
some overload of `Partition` actually implement dispatch with 2 ports.
> Perhaps something is missing in my understanding but I don't see how you can do this with sequences that are _lazy._ Also, your return value is a read-only list...
I think you can avoid the introduction of `Tuple` with `Lead` and `SkipLast`: ```C# var nums = new[] { -5, 1, 2, 3, 15, 16, 17, 95, 100, 101, 102,...
> Both of your Solutions would enumerate the source collection multiple times. I don't think so, both `Lead` and `Lag` use a `Queue` (here of size 1) in their implementation...