.NET6 LINQ最新新增语法

.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);

4、MinBy、MaxBy

5、Take的条件标志

1、取数组的3-4 T a k e ( 2..4 ) Take(2..4) Take(2..4)

2、取数组的最后三个 Take(^3…)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值