当前位置: 首页 > news >正文

广西住房建设厅网站广州seo工作

广西住房建设厅网站,广州seo工作,牡丹江最新通知今天,访问一个网站的过程【.NET Core】Linq查询运算符#xff08;一#xff09; 文章目录 【.NET Core】Linq查询运算符#xff08;一#xff09;一、概述二、筛选数据三、投影运算3.1 Select 3.2 SelectMany3.3 Zip3.4 Select 与 SelectMany 四、Set#xff08;设置#xff09;运算4.1 Distinct…【.NET Core】Linq查询运算符一 文章目录 【.NET Core】Linq查询运算符一一、概述二、筛选数据三、投影运算3.1 Select 3.2 SelectMany3.3 Zip3.4 Select 与 SelectMany 四、Set设置运算4.1 Distinct或DistinctBy4.2 Except或ExceptBy4.3 Intersect或IntersectBy4.4 Union或UnionBy 五、对数据进行排序5.1 OrderBy5.2 OrderByDescending5.3 ThenBy5.4 ThenByDescending5.5 Reverse() 六、限定符运算6.1 All6.2 Any6.2 Contains 七、数据分区7.1 Skip7.2 SkipWhile7.3 Take7.4 TakeWhile7.5 Chunk 一、概述 查询运算符是组成Linq模式的方法。这些方法中的大多数都作用于序列其中序列指其类型实现IEnumberableT接口或IQueryableT接口的对象。标准查询运算符提供包括筛选、投影、集合、排序等查询功能。 查询运算符包含两组一组作用于类型IEnumberableT的对象另一组作用于类型IQueryableT的对象。 二、筛选数据 筛选是指将结果集限制为仅包含满足指定条件的元素的操作。它也称为选定内容。筛选数据方法包含OfType和Where。 string[] list[A,AB,BC,CD,DE,EF]; IEnumerablestring query from chars in list where chars.Contains(B) select chars; foreach(string ch in query){Console.WriteLine(str); }运行结果 AB BC三、投影运算 投影是指将对象转换为一种新形式的操作该形式通常只包含那些将随后使用的属性。通过使用投影可以构造从每个对象生成的新类型。可以投影属性并对属性执行数学函数。 3.1 Select string[] list{A,AB,BC,CD,DE,EF}; IEnumerablestring query from chars in list select chars.ToLower(); foreach(string ch in query){Console.WriteLine(str) }运行结果 a ab bc cd de ef3.2 SelectMany 使用多个from子句来投影字符串列表中每个字符串的每个字符转变为大写。 string[] list { A|B|C|D,E|F|G|H}; IEnumerablestring query from chars in list from ch in chars.Split(|)select ch; foreach (string ch in query) {Console.WriteLine(ch) }运行结果 A B C D E F G H3.3 Zip Zip投影运算符有多个重载所有Zip方法都处理两个或更多可能是异构类型的序列。前两个重载返回元组具有来自给定序列的响应位置类型。 int[] index { 1, 2, 3 }; string[] chars { A, B, C }; IEnumerablestring zip chars.Zip(index, (n, w) n w); foreach (var z in zip) {Console.WriteLine(z); }运行结果 A1 B2 C3zip操作生成的序列的长度永远不会长于最短序列。index和letters集合的长度不同生成的序列将省略index集合中的最后一个元素因为它没有任何要压缩的内容。 3.4 Select 与 SelectMany Select与SelectMany的工作都是依据源生成一个或多个结构值。Select为每个源值生成一个结构值。因此总体结构是一个与源集合具有相同元素数目的集合。 与之相反SelectMany 生成单个总体结果其中包含来自每个源值的串联子集合。 作为参数传递到 SelectMany 的转换函数必须为每个源值返回一个可枚举值序列。 然后SelectMany 串联这些可枚举序列以创建一个大的序列。 四、Set设置运算 LINQ 中的集运算是指根据相同或不同集合或集中是否存在等效元素来生成结果集的查询运算。 4.1 Distinct或DistinctBy 删除集合中的重复元素 int[] index { 1, 2, 3 ,4}; string[] chars { A, B, C , B, C ,D}; IEnumerablestring zip from ch in chars.Distinct() select ch; foreach (var z in zip) {Console.WriteLine(z); }运行结果 A B C D在新.NET Framework中可以使用DistinctBy替代Distinct,DistinctBy采用keySelector。keySelector用作源类型的比较鉴别器。 4.2 Except或ExceptBy Except返回的序列只包含位于第一个输入序列但不位于第二个输入序列的元素。 string[] listA { A, B, AC, BC, CD }; string[] chars { A, B, C , B, C ,D}; IEnumerablestring listC from ch in chars.Except(listA) select ch; foreach (var z in listC) {Debug.WriteLine(z); }运行结果 C DExceptBy 方法是 Except 的替代方法它采用可能是异构类型的两个序列和一个 keySelector。 keySelector 与第二个集合的类型相同用作源类型的比较鉴别器。 4.3 Intersect或IntersectBy 返回序列包含两个输入序列共有的元素。 string[] listA { A, B, AC, BC, CD }; string[] chars { A, B, C , B, C ,D}; IEnumerablestring listC from ch in chars.Intersect(listA) select ch; foreach (var z in listC) {Debug.WriteLine(z); }运行结果 A BIntersectBy方法是Intersect的替代方法它采用可能是异构类型的两个序列和一个keySelector。keySelector用作第二个集合类型的比较鉴别器。 4.4 Union或UnionBy 两个字符串序列执行的联合操作。返回的序列包含两个输入序列的唯一元素。 string[] listA { A, B, AC, BC, CD }; string[] chars { A, B, C , B, C ,D}; IEnumerablestring listC from ch in chars.Union(listA) select ch; foreach (var z in listC) {Debug.WriteLine(z); }运行结果 A B C D AC BC CD五、对数据进行排序 排序操作基于一个或多个属性对序列的元素进行排序。 第一个排序条件对元素执行主要排序。 通过指定第二个排序条件您可以对每个主要排序组内的元素进行排序。 5.1 OrderBy 结果集按升序对值排序。 string[] listA { A, B, AC, BC, CD }; string[] chars { A, B, C , B, C ,D}; IEnumerablestring listC from ch in chars.Union(listA) orderby ch select ch; foreach (var z in listC) {Debug.WriteLine(z); }运行结果 A AC B BC C CD D5.2 OrderByDescending 按降序对值排序。C#查询表达式语法orderby… descending string[] listA { A, B, AC, BC, CD }; string[] chars { A, B, C , B, C ,D}; IEnumerablestring listC from ch in chars.Union(listA) orderby ch descending select ch; foreach (var z in listC) {Debug.WriteLine(z); }运行结果 D CD C BC B AC A5.3 ThenBy 按升序执行次要排序。orderby...,... string[] listA { A, B, AC, BC, CD }; string[] chars { A, B, C , B, C ,D}; IEnumerablestring listC from ch in chars.Union(listA) orderby ch,ch.Length select ch; foreach (var z in listC) {Debug.WriteLine(z); }运行结果 A AC B BC C CD D5.4 ThenByDescending 按降序执行次要顺序。C#查询表达式语法orderby…,… descending。 string[] listA { AB, DC, ED, FH, Z }; IEnumerablestring listC from ch in listAorderby ch descending,ch.Length descendingselect ch; foreach (var z in listC) {Debug.WriteLine(z); }运行结果 Z FH ED DC AB5.5 Reverse() 反转集合中元素的顺序 string[] listA { AB, DC, ED, FH, Z }; IEnumerablestring listC listA.Reverse(); foreach (var z in listC) {Debug.WriteLine(z); }运行结果 Z FH ED DC AB六、限定符运算 限定符运算返回一个Boolean值该值指示序列中是否有一些元素满足条件或是否所有元素都满足条件。 6.1 All 全部确定是否序列中的所有元素都满足条件 class Marketing {public string Name{get;set;}public string[] Items{get;set;} } public static void Main(string[] args) {ListMarketing markets{new Market { Name Emilys, Items {kiwi, cheery, banana} },new Market { Name Kims, Items {melon, mango, olive} },new Market { Name Adams, Items {kiwi, apple, orange} },} var names from marker in marketswhere marker.Items.All(itemitem.Length 5)select Name;foreach(string name in namse){Debug.WriteLine(name);} } 6.2 Any 使用Any检查所有字符串是否以“o”开头。 class Market {public string Name{get;set;}public string[] Items{get;set;} } public static void Main(string[] args) {ListMarket markets{new Market { Name Emilys, Items {kiwi, cheery, banana}},new Market { Name Kims, Items {melon, mango, olive} },new Market { Name Adams, Items {kiwi, apple, orange} }, }IEnumerablestring names from market in marketswhere market.Items.Any(itemitem.StartsWith(o))select market.Name;foreach(string name in names){Debug.WriteLine(name);} }6.2 Contains Contains检查所有数组是否具有特定元素。 class Market {public string Name{get;set;}public string[] Items{get;set;} } public static void Main(string[] args) {ListMarket markets{new Market { Name Emilys, Items {kiwi, cheery, banana}},new Market { Name Kims, Items {melon, mango, olive} },new Market { Name Adams, Items {kiwi, apple, orange} }, }IEnumerablestring names from market in marketswhere market.Items.Contains(kiwi)select market.Name;foreach(string name in names){Debug.WriteLine(name);} }七、数据分区 Linq中的数据分区是指将输入序列划分为两个部分的操作无需重新排列元素然后返回其中一个部分。 7.1 Skip Skip跳过序列中指定位置之前的元素。 string[] items {A, B,C,D,E,F,G,H,I}; var item items.Skip(5); foreach (var it in item) {Console.WriteLine(it); }运行结果 F G H I7.2 SkipWhile Skip指定跳过的数目SkipWhile指定的跳过条件而不是元素数。 string[] texts new string[] { Sun, Mon, Tue, Wed, Thu, Fri, Sat }; IEnumerablestring skippedTexts texts.SkipWhile(value value.EndsWith(n)); foreach (var it in skippedTexts) {Console.WriteLine(it); }运行结果 Tue Wed Thu Fri Sat7.3 Take 获取序列中指定位置之前的元素 string[] texts new string[] { Sun, Mon, Tue, Wed, Thu, Fri, Sat }; // 删除尾字母为n的 IEnumerablestring skippedTexts texts.Take(3); foreach (var it in skippedTexts) {Console.WriteLine(it); }运行结果 Sun Mon Tue7.4 TakeWhile TakeWhile操作符用于从输入序列中返回指定数量且满足一定条件的元素。 当TakeWhile操作符被调用时会将source序列中的每一个元素顺序传递给委托predicate,只有哪些使用得predicate返回值为true的元素才会被添加到结果序列中要特别注意是当TakeWhile操作符在查找过程中遇到第一个返回false的元素就会立即停止执行跳出无论后面还有没有符合条件的元素即使后面有符合条件的元素也不会获取。对于第二个扩展方法委托里面含有一个int类型的参数。 string[] lists [a, e, i, o, u]; var takeList lists.TakeWhile(x x ! i); foreach (var al in takeList) {Console.WriteLine(al); }运行结果 a e7.5 Chunk chunk 该方法将序列的元素拆分为指定大小的区块 string[] lists {公孙胜,鲁智深,林冲,吴用,李逵,宋江,武松 }; var nameList lists.Chunk(3); foreach (var names in nameList) {foreach (var name in names) {Trace.WriteLine(name);}Trace.WriteLine(****************); }运行结果 公孙胜 鲁智深 林冲 **************** 吴用 李逵 宋江 **************** 武松 ****************
http://www.pierceye.com/news/770298/

相关文章:

  • 做分销商城网站的wordpress 知更鸟 网格
  • 推销商务网站的途径有哪些爱网站查询挖掘工具
  • 苏州现代建设公司网站备案的域名做电影网站
  • 长沙seo网站优化公司wordpress5.1下载
  • 七星彩网投网站建设鹤壁公司做网站
  • 多语言企业网站建设费用怎么自己做购物网站
  • 中国网站排名前100线上网站开发相关书籍
  • 网站制作图书网站建设指南
  • 网站备案简单吗优化关键词排名软件
  • 泉山网站开发安徽建设工程造价信息网
  • 如何使用电子商务网站做seo需要用到什么软件
  • 新乡商城网站建设哪家专业潮汕学院网站开发
  • 西安响应式网站开发网站空间多少钱一年
  • 做电子相册的大网站怎样提高网站的权重
  • seo网站设计外包去哪个网站有客户找做标书的
  • 微商招商网站源码互联网营销推广方案
  • 深圳做网站服务公司河北石家庄最新新闻
  • 山东济南seo整站优化唐山网站建设那家性价比高
  • c 可以做哪些网站小说网站建设采集
  • 公司网站备案条件高校网站集群平台子站开发
  • 制作网站能赚钱吗单位发购物或电影卡有哪些app
  • 我们网站在那里登陆后台系统管理网站建设服务咨询
  • 免费上传图片的网址网站seo工作内容
  • chatgpt 网站一对一直播软件开发
  • 网站做排行多少费用个人电脑做网站打不开数据库
  • 做网站是比特币的滁州做网站电话号码
  • php网站开发说明怎么样建网站卖东西
  • 网站图片做多大浙江建设人才网
  • 网站关键词宝塔wordpress腾讯云
  • 优化排名推广教程网站免费房地产网站模板