Morelinq's batch and partition don't know what the difference is.
var ints =enumerable.range (1,10);
var result = INTs. Batch (3);
var result2 = INTs. Partition (3);
The result is the same as//[1,2,3],[4,5,6],[7,8,9],[10], partition may also specify the size of each partition, but the individual int parameters are really unknown.
-------------------
var ints =enumerable.range (1,10);
var result3 = INTs. Windowed (4);
Windowed a magical method, each element loops 4, [[1,2,3,4],[2,3,4,5],[3,4,5,6]. (Lazy to write) ... [7,8,9,10]]
------------------------------------------
IEnumerable judgment Null (empty means no element list, not null meaning), with no parameter of any (), without the count () efficiency problem, icollection,ilist can also be used.
--------------------------------------------------------------------------------------------------------------- ------
Morelinq plus Exceptby is more than LINQ Except, you can convert elements to key comparisons, and the elements of poor set results are not duplicated, even if there are duplicates in the original list.
Internal use of Set or HashSet to do the comparison.
-------------------------------------------------------------------
Enumerable.empty<titem> is a single static class, should be not a type to save one, return is actually titem[0]
Morelinq and LINQ