安庆大理运城常德铜陵江西
投稿投诉
江西南阳
嘉兴昆明
铜陵滨州
广东西昌
常德梅州
兰州阳江
运城金华
广西萍乡
大理重庆
诸暨泉州
安庆南充
武汉辽宁

。NET6中LINQ的改进

10月2日 听雨眠投稿
  原文:bit。ly32guqbn
  作者:OlegKyrylchuk
  翻译:精致码农王亮OrDefault方法的默认值
  Enumerable。FirstOrDefault方法返回一个序列的第一个元素,如果没有找到,则返回一个默认值。在。NET6中,你可以覆盖该方法的默认值。同样,你还可以覆盖SingleOrDefault和LastOrDefault方法的默认值。Listintlist1new(){1,2,3};intitem1list1。FirstOrDefault(ii4,1);Console。WriteLine(item1);1Liststringlist2new(){Item1};stringitem2list2。SingleOrDefault(iiItem2,Notfound);Console。WriteLine(item2);Notfound新的By方法
  。NET6引入了新的Enumerable。By方法,它的keySelector参数用来比较元素。这些新方法有:MinByMaxByDistinctByExceptByIntersectByUnionByListProductproductsnew(){new(){NameProduct1,Price100},new(){NameProduct2,Price5},new(){NameProduct3,Price50},};ProducttheCheapestProductproducts。MinBy(xx。Price);ProducttheMostExpensiveProductproducts。MaxBy(xx。Price);Console。WriteLine(theCheapestProduct);Output:Product{NameProduct2,Price5}Console。WriteLine(theMostExpensiveProduct);Output:Product{NameProduct1,Price100}recordProduct{publicstringName{}publicdecimalPrice{}}新的Chunk方法
  如果你需要将一个序列的元素分割成块,在。NET6中你不必再自己实现了,它引入了一个新的Enumerable。Chunk扩展方法。IEnumerableintnumbersEnumerable。Range(1,505);IEnumerableint〔〕chunksnumbers。Chunk(100);foreach(int〔〕chunkinchunks){Console。WriteLine(34;{chunk。First()}。。。{chunk。Last()});}Output:1。。。100101。。。200201。。。300301。。。400401。。。500501。。。505三向Zip方法
  Enumerable。Zip扩展方法可以将两个序列进行结合产生产生一个二元组序列。在。NET6中,它可以结合三个序列产生一个三元组序列。int〔〕numbers{1,2,3,4,};string〔〕months{Jan,Feb,Mar};string〔〕seasons{Winter,Winter,Spring};vartestnumbers。Zip(months)。Zip(seasons);foreach((int,string,string)zippedinnumbers。Zip(months,seasons)){Console。WriteLine(34;{zipped。Item1}{zipped。Item2}{zipped。Item3});}Output:1JanWinter2FebWinter3MarSpringElementAt方法支持Index
  。NETCore3。0引入了Index结构体,它被C编译器用来支持一个新的前缀帽子运算符()。它表示从集合的末端开始的索引。在。NET6中,Enumerable。ElementAt方法支持Index。IEnumerableintnumbersnewint〔〕{1,2,3,4,5};intlastnumbers。ElementAt(0);Console。WriteLine(last);5Take方法支持Range
  。NETCore3。0中也引入了Range结构体,它被C编译器用来支持一个范围操作符。。。。在。NET6中,Enumerable。Take方法也支持Range。IEnumerableintnumbersnewint〔〕{1,2,3,4,5};IEnumerableinttaken1numbers。Take(2。。4);foreach(intiintaken1)Console。WriteLine(i);Output:34IEnumerableinttaken2numbers。Take(。。3);foreach(intiintaken2)Console。WriteLine(i);Output:123IEnumerableinttaken3numbers。Take(3。。);foreach(intiintaken3)Console。WriteLine(i);Output:45用TryGetNonEnumeratedCount避免列举
  。NET6引入了一个新的Enumerable。TryGetNonEnumerated方法,它试图确定一个序列中元素的数量,而不强制进行列举。它对IQueryable很有用,当调用Enumerable。Count时,你不希望执行整个查询。IEnumerableintnumbersGetNumbers();TryGetNonEnumeratedCount(numbers);Output:CouldnotgetacountofnumberswithoutenumeratingthesequenceIEnumerableintenumeratedNumbersnumbers。ToList();vartestenumeratedNumbers。ElementAt(1);TryGetNonEnumeratedCount(enumeratedNumbers);Output:Count:5voidTryGetNonEnumeratedCount(IEnumerableintnumbers){if(numbers。TryGetNonEnumeratedCount(outintcount))Console。WriteLine(34;Count:{count});elseConsole。WriteLine(Couldnotgetacountofnumberswithoutenumeratingthesequence);}IEnumerableintGetNumbers(){yieldreturn1;yieldreturn2;yieldreturn3;yieldreturn4;yieldreturn5;}结束语
  所有的代码示例你都可以在我的GitHub上找到:https:github。comokyrylchukdotnet6featurestreemainLINQ20imrpovements
投诉 评论 转载

使用一次性纸杯你喝的是热水还是塑料?据英国《每日邮报》网站4月21日报道,一次性咖啡杯是一种环境灾难已经众所周知,因为它们的薄塑料里衬使其极难回收利用。而现在,一项新的研究发现,炽热的饮料会导致这层塑料里衬向饮料……领克加入涨价潮,多家车企开启新一轮涨价4月8日晚,领克汽车对外宣布上调旗下新能源汽车价格。官方表示,受上游原材料价格持续上涨等综合因素影响,领克汽车将对旗下新能源(PHEV插电混动)产品官方指导价进行上调,幅度为2……台积电突破1nm工艺,却面临着困境,何时实现量产还是未知数虽然当前半导体行业正处于严重的缺芯困境中,但这丝毫不影响芯片企业对先进芯片探索,如今芯片企业对先进芯片的探索已经迈入了1nm工艺,不知这是否意味着人类即将进入埃米时代?不……微信推荐七夕快乐状态彩蛋美滋滋裂开搬砖IT之家8月14日消息有网友发现,在七夕节这天,微信状态上线了七夕快乐彩蛋。推荐三个状态是美滋滋、裂开、搬砖,而实际意思可能是有对象、失恋、单身。微信团队近期发布了微信i……有人说幕布不如白墙,当真?到底,投影白墙和幕布哪个更伤眼睛?相信很多人在买完投影机之后都在纠结要不要给投影机添置一块幕布来增强光影效果,当然也有另一类人觉得有白墙投影幕布就没有必要购买,说是用幕布光感太强会上眼睛,等于花冤枉钱。到底,幕……。NET6中LINQ的改进原文:bit。ly32guqbn作者:OlegKyrylchuk翻译:精致码农王亮OrDefault方法的默认值Enumerable。FirstOrDefau……华为跌倒三星吃饱,谁能拯救风雨里的华为?天下兴亡,匹夫有责。最可悲的就是事不关己高高挂起,无论是华为的终端产品,还是华为的鸿蒙系统,只要我们有力的出力,有钱的出钱去购买,哪怕是不出钱不出力的去吆喝一声中华有为,……两年前的华为旗舰机,除了没有5G其他依旧很强测评对象:华为Mate20Pro测评内容:和现在中端机相比测评人:奶茶的数码由于华为自主研发的海思麒麟芯片被打压后,华为今年手机的发售量大幅度下降,过年以来只……首发丨心脑血管创新器械平台信立泰生物医疗完成数亿元A轮战略融创业邦获悉,5月7日,信立泰药业(002294。SZ)全资子公司信立泰生物医疗(下称公司)宣布成数亿元A轮战略融资,由信达鲲鹏(深圳)股权投资管理有限公司(下称信达鲲鹏)领投,……为什么之前大受欢迎的内存卡,现在却无人问津?你还记得以前插手机里面的内存卡吗?就那种2GB、8GB的内存容量,足够存放我们很多歌曲和照片。在那个时候,身为学生的我,能够拥有一张2GB的内存卡,就已经是属于学校里面的……前三季度新登记新能源汽车187。1万辆前三季度新登记新能源汽车187。1万辆记者董凡超记者今天从公安部交通管理局获悉,今年前三季度,全国新注册登记机动车2753万辆,同比增加436。3万辆,增长18。83;全……人生第一台车,10万左右,这些车你看过了吗?文车魔王原创五六年前十万块钱可能买不到什么好车,但科技飞速发展,近几年汽车行业的竞争更是与日俱增,十万块买到一部兼具经济性和品质的好车已不是梦。对于不知道10万左右买什么……
全球首发!行业内轻薄且灵活的互动地砖屏来了iPhone用久了太卡怎么办?顺顺学党史11月24日空气能热水器耗电量大吗?有什么关系?耗电量大的原因是什么?乌克兰占全球氖气产量七成!美光CEO目前库存充足有多个供应源最常用的Javascript对象方法谈合作获专利OPPO强势进军汽车产业老旧家电变智能Gosund智能插座什么相机色彩效果好?E拆解摩托罗拉最新款edges,经典重现还是消费品牌?有耳鸣需要配助听器吗?中美市场销量不断下跌,马斯克焦头烂额,特斯拉还能不能妥协了?

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找七猫云易事利