.NET6 LINQ最新新增语法 非常常用
建议收藏
文章目录
前言
新增了一些新的LINQ常用语法,方法,以及两个特殊标志 “…” 和 “^”
1、Chunk
将数组按照条件进行分组。
比如 有一组名字,两两分组
var names = new [] {"Tom","Jack","Kate","Lily","Aaron","Eric"};
var chunked = names.Chunk(3);
// 1、 new [] {"Tom","Jack","Kate"}
// 2、 new [] {"Lily","Aaron","Eric"}
2、TryGetNonEnumeratedCount()
1.The Old Way
var names = new [] {"Tom","Jack","Kate"};
var other_names = new [] {"Lily","Aaron","Eric"};
var concated = names.Concat(other_names);
//这样做会有什么不好的地方。(IO? Cpu?)
Console.WriteLine(concated.Count())
2.The New Best Way
代码如下(示例):
var names = new [] {"Tom","Jack","Kate"};
var other_names = new [] {"Lily","Aaron","Eric"};
var concated = names.Concat(other_names);
Console.WriteLine(concated.TryGetNonEnumeratedCount(out var count))
3、Zip
将两个数组进行整合成为一个 ValueTuple<T,SecondT>数组
var names = new [] {“Nick”,”Lily”};
var age = new [] {18,20};
var zip = names.zip(age);
// Zip => ValueTuple<string,int>(“Nick”,18),ValueTuple<string,int>(“Lily”,20)
var year = new [] {2018,2020}
var zip_two = names.zip(age,year);