MoreLinq和Linq

Posted 聪明大熊的技术园地

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MoreLinq和Linq相关的知识,希望对你有一定的参考价值。

MoreLinq里的Batch和Partition不知道什么区别。

 var ints =Enumerable.Range(1,10);
 var result = ints.Batch(3);
 var result2 = ints.Partition(3);

做出来的结果一样 // [1,2,3],[4,5,6],[7,8,9],[10] ,Partition可能还可以指定每个分区的大小,不过单个int参数真不知分别。

 

-------------------

 var ints =Enumerable.Range(1,10);

 var result3 = ints.Windowed(4);

Windowed神奇的方法,每个元素循环4个,[[1,2,3,4],[2,3,4,5],[3,4,5,6]。。(懒的写了)。。。[7,8,9,10]]

------------------------------------------

IEnumerable 判断空(空的意思是没有元素列表,不是null的意思),用无参的Any(),不用Count()效率问题,ICollection,IList也一样可以用.

---------------------------------------------------------------------------------------------------------------------

MoreLinq加的ExceptBy 比Linq Except ,多了可以对元素转换成Key比较,比较差集结果的元素不会重复,就算本来列表里有重复。

内部用了Set 或者HashSet做比较。

 -------------------------------------------------------------------

Enumerable.Empty<TItem> 是一个单例静态类,应该是没一个类型存一个,返回其实是TItem[0]

以上是关于MoreLinq和Linq的主要内容,如果未能解决你的问题,请参考以下文章

c# MoreLinq 之 Aggregate

如何通过 Linq 将集合拆成多个块?

Observable.Do 等价于 Enumerable [重复]

& 和 && 区别和联系,| 和 || 区别和联系

第三十一节:扫盲并发和并行同步和异步进程和线程阻塞和非阻塞响应和吞吐等

shell中$()和 ` `${}${!}${#}$[] 和$(()),[ ] 和(( ))和 [[ ]]