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

详情页设计模板网站深圳台历制作

详情页设计模板网站,深圳台历制作,网站制作企,网站建设需要多少【.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.w-s-a.com/news/579634/

相关文章:

  • 设计网站最重要的是要有良好的短网址还原
  • 大连建设银行招聘网站做seo是要先有网站吗
  • 中山做网站的wordpress建站教程百科
  • 湛江专业网站制作做网站需要工具
  • 做音箱木工网站吉林平安建设网站
  • 品牌网站建设咨询灯光设计网站推荐
  • 温州网站运营打开百度一下网页版
  • 网站有情链接怎么做住房公积金个体工商户
  • 内蒙古网站开发网站开发验收资料
  • 温州网站建设首选国鼎网络网络营销方法可分为两类
  • 做张家界旅游网站多少钱企业推广网络营销
  • 代做毕设网站推荐广东手机微信网站制作
  • 福州建设工程质量监督网站专业做公司宣传网站的
  • 百度云建站教程网站工程师是做什么的
  • 手机在线制作网站一级消防工程师考试试题及答案
  • 网站设计的需求网页制作教程和素材
  • 徐州网站建设 网站推广WordPress 文章编辑
  • 做什么网站比较受欢迎软件商店下载安装2023版本最新
  • 做ip资讯的网站怎么在wordpress中套用同行网页
  • 医院网站如何备案东莞优化公司收费
  • 罗村网站开发适合ps做图的素材网站有哪些
  • 网站建设中 油财宝企业网址怎么整
  • asp.net空网站php网站开发要学什么
  • 做可视化的网站微信网站模版下载
  • 包头移动的网站建设茂名建站价格
  • 网站文章内容一键排版功能铜山网站建设
  • cdr可不可做网站对网站建设起到计划和指导的作用
  • 合肥最好的网站建设网页设计心得体会2000字
  • 西安网站品牌建设门户网站类型
  • 网上做调查问卷的网站请人做网站域名和主机