NET 6 中新增的LINQ 方法

.NET 6 中添加了许多 LINQ 方法。下表中列出的大多数新方法在 System.Linq.Queryable 类型中具有等效方法。

欢迎关注

如果你刻意练习某件事情请超过10000小时,那么你就会达到世界级别

ce434804263d17e3d7681725ebf506a2.png
今晚打老虎

TryGetNonEnumeratedCount 尝试在不强制枚举的情况下确定序列中的元素数。

List<object> numbers1 = new List<object>() { 5, 4, "nihao" };int num = 0;numbers1.TryGetNonEnumeratedCount(out num);

num输出为3

Chunk 将序列的元素拆分为指定大小的区块

var list = new List<dynamic>{new { Id = 1, Property = "value1" },new { Id = 2, Property = "value2" },new { Id = 3, Property = "value1" }};var a = list.Chunk(2);

返回 两个元素,第一个list长度为2,第二个为1

ElementAt方法 返回元素指定索引或者结束的索引

var list = new List<dynamic>{new { Id = 1, Property = "value1" },new { Id = 2, Property = "value2" },new { Id = 3, Property = "value1" },new { Id = 4, Property = "value4" },new { Id = 5, Property = "value2" },new { Id = 6, Property = "value6" },new { Id = 7, Property = "value7" },new { Id = 8, Property = "value8" },new { Id = 9, Property = "value9" }};
var  b=list.ElementAt(2);var  a=list.ElementAt(^2);

a返回的是id=8的item b返回的是id=9的item

MaxBy 和 MinBy  返回元素中最大值或最小值

  • MaxBy  返回元素中的最大元素

  • MinBy 返回元素中的最小元素

List<int> numbers1 = new List<int>() { 5, 4, 1, 3, 9, 8, 6, 7, 12, 10 };var maxnum= numbers1.MaxBy(x => x);var mixnum= numbers1.MinBy(x => x);

maxnum输出为12,minnum为1

DistinctBy   根据某元素去重

  • (相当于以前的自定义方法)

var list = new List<dynamic>{new { Id = 1, Property = "value1" },new { Id = 2, Property = "value2" },new { Id = 3, Property = "value1" }};// returns objects with Id = 1, 2, but not 3var distinctList = list.DistinctBy(x => x.Property).ToList();

返回id为1和2的 就相当于自定义扩展方法

public static IEnumerable<t> DistinctBy<t>(this IEnumerable<t> list, Func<t, object> propertySelector)
{return list.GroupBy(propertySelector).Select(x => x.First());

ExceptBy返回 两个序列的元素的集合差值的序列

IntersectBy  返回两个序列元素 得交际

UnionBy   连接不同集合,过滤某元素相同项

FirstOrDefault返回序列中满足条件的第一个元素;如果未找到这样的元素,则返回默认值

LastOrDefault 返回序列中的最后一个元素;如果未找到该元素,则返回默认值

SingleOrDefault 返回序列中的唯一元素;如果该序列为空,则返回默认值;如果该序列包含多个元素,此方法将引发异常。

Take 从序列的开头返回指定数量的相邻元素

int[] grades = { 59, 82, 70, 56, 92, 98, 85 };IEnumerable<int> topThreeGrades =grades.OrderByDescending(grade => grade).Take(3);Console.WriteLine("The top three grades are:");
foreach (int grade in topThreeGrades)
{Console.WriteLine(grade);
}
/*This code produces the following output:The top three grades are:989285
*/

Zip将指定函数应用于两个序列的对应元素,以生成结果序列

int[] numbers = { 1, 2, 3, 4 };
string[] words = { "one", "two", "three" };var numbersAndWords = numbers.Zip(words, (first, second) => first + " " + second);foreach (var item in numbersAndWords)Console.WriteLine(item);// This code produces the following output:// 1 one
// 2 two
// 3 three

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/293889.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android之startService与bindService的区别

Android执行Service有两种方法&#xff0c;一种是startService&#xff0c;一种是bindService。下面让我们一起来聊一聊这两种执行Service方法的区别。 1、生命周期上的区别 执行startService时&#xff0c;Service会经历onCreate->onStartCommand。当执行stopService时&…

DCOS实践分享(6):基于DCOS的大数据应用分享

Open DC/OS大中华区官方发布会在京隆重召开 DCOS领域诞生了一个100%开源的企业级Datacenter Operating System版本&#xff0c;即DC/OS。Linker Networks及其合作伙伴Microsoft, Cisco, HPE, Mesosphere, Verizon等于4月19日开启全球发布&#xff0c;而Linker Networks作为初创…

计算机技术在数学教学中的应用,信息技术在数学教学中应用

数学是一门高度抽象的学科&#xff0c;高度抽象的概念&#xff0c;科学简洁的数学语言&#xff0c;严谨的逻辑体系&#xff0c;深刻的数学思想方法&#xff0c;都使得相当数量的学生难于理解数学。处理好教与学的关系&#xff0c;选择适当的教学模式&#xff0c;设计优化的教学…

CSV格式数据如何导入MySQL?

经常有客户咨询如何将CSV文件导入到MySQL数据库中&#xff0c;特写此文介绍一种方便、快捷的方法。 我们要使用的辅助工具是著名的MySQL管理软件&#xff1a;Navicat for MySQL 1&#xff09;我准备了一个字符编码为UTF-8的标准CSV文件&#xff0c;总共有2001条记录&#xff08…

subclipse用法

SUBCLIPSE的使用方法. 针对ECLIPSE的SUBVERSION插件http://blog.csdn.net/kimsung/article/details/5277873 SubVersion和Subclipse的简单使用方法http://subclipse.group.iteye.com/group/wiki/1708-subversion-and-simple-to-use-subclipse

.NET静态代码织入——肉夹馍(Rougamo)

肉夹馍是什么肉夹馍通过静态代码织入方式实现AOP的组件。.NET常用的AOP有Castle DynamicProxy、AspectCore等&#xff0c;以上两种AOP组件都是通过运行时生成一个代理类执行AOP代码的&#xff0c;肉夹馍则是在代码编译时直接修改原始方法IL代码&#xff0c;在原始方法内织入AOP…

Android之电话状态的监听(来电和去电)

实现手机电话状态的监听&#xff0c;主要依靠两个类&#xff1a;TelephoneManger和PhoneStateListener。 TelephonseManger提供了取得手机基本服务的信息的一种方式。因此应用程序可以使用TelephonyManager来探测手机基本服务的情况。应用程序可以注册listener来监听电话状态的…

Only the original thread that created a view hierarchy can touch its views.

/*********************************************************************************** Only the original thread that created a view hierarchy can touch its views.* 说明&#xff1a;* 自定义view的时候出现这个错误&#xff0c;是用错了方法。* * …

史上最让数学家无奈的规定!背后真相让人不敢相信,可是没有人能证明对错.........

全世界只有3.14 % 的人关注了爆炸吧知识负负得正怎么证明&#xff1f;放假了&#xff0c;8岁表妹又来我家打算好好学习。今天聊着聊着&#xff0c;超模君差点被她给绕进去。她&#xff1a;“老师说负负得正&#xff0c;所以&#xff0c;所以所有的负数乘以负数都是正数&#xf…

paip.C#.NET JSON解析总结

paip.C#.NET JSON解析总结 作者Attilax &#xff0c; EMAIL:1466519819qq.com 近日做跑号器,需要解析JSON {"code":799,"data":{"backUrl":""},"message":"\u767b\u9646\u6210\u529f"} 查了下资料,有原生API…

网络编程资源

高性能 Socket 组件 HP-Socket v3.2.1-RC1 发布 http://bbs.csdn.net/topics/390763397 The C10K problem 高性能服务器设计 http://www.cnblogs.com/fll/archive/2008/05/17/1201540.html http://blog.sina.com.cn/s/blog_4aec22920100itkf.html 这周看了Dan Kegel那篇"…

计算机试题dddd,数据库系统概论试题及答案dddd_Image_Marked.pdf

数据库系统概论试题及答案dddd_Image_Marked数据库系统概论复习资料&#xff1a;第一章&#xff1a;一选择题&#xff1a;1&#xff0e;在数据管理技术的发展过程中&#xff0c;经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中&#xff0c;数据独立性最高的…

Android之AudioManager(音频管理器)详解

AudioManager简介&#xff1a; AudioManager类提供了访问音量和振铃器mode控制。使用Context.getSystemService&#xff08;Context.AUDIO_SERVICE&#xff09;来得到这个类的一个实例。 公有方法&#xff1a; Public Methods int abandonAudioFocus(AudioManager.OnAudioFo…

Asp.NetCore3.1开源项目升级为.Net6.0

概述自从.Net6.0出来后&#xff0c;一直想之前开发的项目升级.Net6.0&#xff0c;有时想想毕竟中间还跨了个5.0版本&#xff0c;升级起来不知道坑大不大&#xff0c;最近抽时间对升级的方案做了些研究&#xff0c;然后将代码升级为.Net6.0。本质上来说我个人不太喜欢.Net6.0去掉…

ios开发备忘录三

为什么80%的码农都做不了架构师&#xff1f;>>> 在配置第三方库EGORefreshTableHeaderView的时候&#xff08;其实就只是一个头文件和一个源文件&#xff0c;还算不上库&#xff09;&#xff0c;可以从头文件发现 #import <QuartzCore/QuartzCore.h> 所以必…

Android之Eclipse下面如何看Android源代码

在看代码的时候,会经常用到 ctrl鼠标左键 去看自己写的类,有时候点到java的类或者android的类就无法打开,显示no class found之类的东西, 1.拿Button举例,ctrl加鼠标左键,然后显示了no class found之后,这时候会发现整个页面只有一个按钮可以点击,就是change attach source,如果…

项目管理 计算机仿真,分析计算机仿真技术在工程项目施工管理中的运用.pdf

第 33 卷 第 1 期(上) 赤 峰 学 院 学 报( 自 然 科 学 版 ) Vol. 33 No.12017 年 1 月 Journal of Chifeng University (Natural Science Edition) Jan. 2017分析计算机仿真技术在工程项目施工管理中的运用林振文(厦 门软件职业技 术学院 &#xff0c; 福 建 厦 门 361024 )摘…

C# 企业微信消息推送对接,实现天气预报推送

准备工作需要获取的东西1. 企业Id,2.应用secret 和 应用ID获取企业id注册完成后&#xff0c;在我的企业》企业信息》最下面企业id获取应用secret 和 应用ID发送微信消息class WeCom{public static string weComCId "ww2b b0bf8";//企业Id①public static string we…