C#中其他简单LINQ查询表达式的简单使用介绍

本文主要记录下其他简单LINQ表达式,因为比较简单,记录下以后方便回忆,本文也会持续更新。

一些有用的LINQ扩展方法:

LINQ表达式作用是否延迟查询
Range生成指定范围内的整数的序列 
Repeat生成包含一个重复值的序列 
Skip跳过指定数量的元素,返回剩余元素
SkipWhile跳过满足条件的元素,直到不满足条件为止,然后返回剩余元素
Take获取指定数量的元素
TakeWhile获取满足条件的元素,直到不满足添加为止,然后返回满足条件的元素
Where过滤掉数据中不匹配的元素
Select设计一个查询结果
SelectMany把每个数据项投射到一个条目序列之中,然后把所有这些结果序列连接成一个序列
Reverse反转数据源中数据项的顺序
OrderBy基于lambda表达式返回的值对源数据进行排序
OrderByDescending基于lambda表达式返回的值对源数据进行排序
ALL如果源数据中的所有元素都与谓词匹配,则返回true
Any如果源数据中至少有一个元素与谓词匹配,则发挥true
Contains如果源数据含有指定的元素或值,则返回true
Count返回数据源中的元素数量
First返回数据源中的第一个元素
FirstOrDefault返回数据源中的第一个元素,如果没有,则返回默认值
Last返回数据源中的最后一个元素
LastOrDeafult返回数据源中的最后一个元素,如果没有,则返回默认值
Max返回lambda表达式的最大值
Min返回lambda表达式的最小值
Single返回数据源的第一个元素,没有或者多个匹配是抛出异常
SingleOrDefault返回数据源的第一个元素,没有时返回默认值,多个匹配则抛出异常
Sum对选定的值进行求和

ToArray

ToDictionary

ToList

把数据源转化成数组或者其他集合类型

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

测试代码如下图所示: 

static void Main(string[] args)
{List<Phone> PhoneLists = new List<Phone>(){new Phone { Country = "中国", City = "北京", Name = "小米" },new Phone { Country = "中国",City = "北京",Name = "华为"},new Phone { Country = "中国",City = "北京",Name = "联想"},new Phone { Country = "中国",City = "台北",Name = "魅族"},new Phone { Country = "日本",City = "东京",Name = "索尼"},new Phone { Country = "日本",City = "大阪",Name = "夏普"},new Phone { Country = "日本",City = "东京",Name = "松下"},new Phone { Country = "美国",City = "加州",Name = "苹果"},new Phone { Country = "美国",City = "华盛顿",Name = "三星"},new Phone { Country = "美国",City = "华盛顿",Name = "HTC"}};Console.WriteLine("Range结果如下所示:");IEnumerable<int> s = Enumerable.Range(1, 10);foreach (var list in s){Console.Write(list + ",");}Console.WriteLine();Console.WriteLine("Repeat结果如下所示:");IEnumerable<Phone> Repeat = Enumerable.Repeat(PhoneLists.FirstOrDefault(),5);foreach (var list in Repeat){Console.WriteLine($"{list.Country} -- {list.City} --{list.Name}");}var sLists = PhoneLists.Skip(3);Console.WriteLine("Skip结果如下所示:");foreach (var list in sLists){Console.WriteLine($"{list.Country} -- {list.City} --{list.Name}");}Console.WriteLine("SkipWhile结果如下所示:");var swLists = PhoneLists.SkipWhile(p => p.Country.Equals("日本"));foreach (var list in swLists){Console.WriteLine($"{list.Country} -- {list.City} --- {list.Name}");}Console.WriteLine("Take结果如下所示:");var tLists = PhoneLists.Take(3);foreach (var list in tLists){Console.WriteLine($"{list.Country} -- {list.City} --- {list.Name}");}Console.WriteLine("TakeWhile结果如下图所示:");var twLists = PhoneLists.TakeWhile(p => p.Country.Equals("中国"));foreach (var list in twLists){Console.WriteLine($"{list.Country} -- {list.City} --- {list.Name}");}Console.Read();
}

 输出结果如下图所示:

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

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

相关文章

支持上传文件的xhEditor for Typecho EX插件

2019独角兽企业重金招聘Python工程师标准>>> Typecho是一套超轻量的开源博客&#xff0c;界面简洁&#xff0c;功能紧凑&#xff0c;但是Typecho的文本编辑器实在是不好&#xff0c;需要自己写html代码&#xff0c;插图也不方便。试用了几个插件&#xff0c;发现Tin…

『JavaScript』利用Javascript获取IP地址内容方法

&#xff08;不断收集完善中……&#xff09; 使用http/javascript接口取IP数据 1、新浪的IP接口&#xff1a;http://counter.sina.com.cn/ip/&#xff0c;在浏览器中输入此地址&#xff0c;可以看到一个表达式&#xff0c;这个表达式就是返回值。 2、具体的代码实现&#xff1…

C#中IEnumerableT.Select()、SelectMany()的简单使用

本文主要用来记录、让自己有所了解和提升&#xff0c;以后遗忘时可以查看&#xff0c;关于SelectMany()&#xff0c;这篇文章写得不错&#xff0c;值得一看。 话不多说&#xff0c;先上代码看 Select() public class Person {public string Name { get; set; }public string G…

C#中合并两个lambda表达式

在LINQ中如何查询条件不固定&#xff0c;如何合并两个lambda表达式&#xff1f;其中一个方式是LINQ.Dynamic&#xff0c;关于LINQ.Dynamic的简单使用可以参考这篇文章&#xff0c;还有一种方法是利用Expression表达式树&#xff0c;有关表达式树的介绍&#xff0c;可以看这篇文…

HTML5小例子

1.很酷的语音输入(目前只有谷歌浏览器支持) <!DOCTYPE html> <html><head><!--<link href"/html.js" />--><title>HTML5 </title><style></style></head><body>请输入&#xff1a;<input type…

SQL SERVER删除及恢复不安全的储存过程

删除有安全隐患的扩展: exec sp_dropextendedproc xp_cmdshell [删除此项扩展后,将无法远程连接数据库] exec sp_dropextendedproc xp_dirtree [删除此项扩展后,将无法新建或附加数据库] exec sp_dropextendedproc xp_enumgroups exec sp_dropextendedproc xp_fixeddrives exec…

C#中Lambda表达式动态拼接生成工具类

本文代码转自这篇文章&#xff0c;先做下记录。 public static class LambdaUtil<T>{/// <summary>/// lambda表达式:t>true/// </summary>/// <returns></returns>public static Expression<Func<T, bool>> True(){return t >…

iPhone开发中现文件的增加 删除和查询

iPhone开发中&#xff0c;我们常常用到一些对于文件的增加&#xff0c;删除和查询&#xff0c;这些基本的功能对于开发者来说非常的重要&#xff0c;而且非常实用。本文给大家介绍一下如何实现这几个具体的功能。 //创建文件 -(void)CreateFile:(NSString*)path fileName:(NSSt…

彻底理解 Cookie、Session、Token

发展史 1、很久很久以前&#xff0c;Web 基本上就是文档的浏览而已&#xff0c; 既然是浏览&#xff0c;作为服务器&#xff0c; 不需要记录谁在某一段时间里都浏览了什么文档&#xff0c;每次请求都是一个新的HTTP协议&#xff0c; 就是请求加响应&#xff0c; 尤其是我不用记…

dbgrid 获取前台页面参数

按照datagrid方式传参数。在配置文件中用符号获取参数 前台datagrid参数queryParams:{"batchId":1} 配置文件获取参数<grid-relation> id not in (select woman_id from ruxian_exam where batch_id batchId) </grid-relation>转载于:htt…

C#中利用Expression表达式树进行多个Lambda表达式合并

在上一文中介绍使用了合并两个Lambda表达式&#xff0c;能两个就能多个&#xff0c;代码如下图所示&#xff1a; public static class ExpressionHelp{private static Expression<T> Combine<T>(this Expression<T> first, Expression<T> second, Func…

C#利用反射实现动态加载程序集简单案例

反射可以不但用来读取元数据&#xff0c;还可以使用反射从编译时还不清楚的类型中动态创建程序集&#xff0c;此案例摘自C#高级编程。 首先先创建一个控制台应用程序&#xff0c;然后添加一个类库&#xff0c;类库名称为CalculatorLib&#xff0c;如下图所示&#xff1a; Calcu…

设置与读取C#控制台应用程序Main函数中的参数args

在项目属性面版->调试->命令行参数设置。空格分隔。读取&#xff1a;string[] str Environment.GetCommandLineArgs();Main函数是C&#xff03;应用程序的入口点&#xff0c;Main函数可以有四种签名&#xff0c;分别如下:static void Main()static void Main(string[] a…

深入了解C#反射中Assembly.Load()、Assembly.LoadFrom()、Assembly.LoadF ile ()方法

本文转自&#xff1a;https://www.cnblogs.com/zagelover/articles/2726034.html Assembly.Load() Load()方法接收一个String或AssemblyName类型作为参数&#xff0c;这个参数实际上是需要加载的程序集的强名称&#xff08;名称&#xff0c;版本&#xff0c;语言&#xff0c;公…

基于AgileEAS.NET企业应用平台实现基于SOA架构的应用整合方案-开篇

为什么80%的码农都做不了架构师&#xff1f;>>> 开篇 系统架构的文章&#xff0c;准备在这段时间好好的梳理和整理一下&#xff0c;然后发布基于AgileEAS.NET平台之上的企业级应用架构实践&#xff0c;结合具体的案例来说明AgileEAS.NET平 台之上如何进行系统的逻辑…

修改Visual Studio类模板注释信息

背景资料 在开发过程中&#xff0c;经常需要给新增的类和接口添加 public 修饰符和一些相关的注释信息&#xff0c;这个工作是机械而且枯燥的&#xff0c;这个可以通过修改VS自带的类模板来实现。 1、首先找到VS的安装目录&#xff0c;例如如下目录&#xff1a; D:\Program F…

CGDC

为什么80%的码农都做不了架构师&#xff1f;>>> 听了两天&#xff0c; eve online的讲服务器不错&#xff0c;涉猎较少&#xff0c;所以只能谈下当时记得东西。 eve服务器用stackless python来编程&#xff0c;由于分布式做的比较好&#xff0c;可以通过扩展硬件来…

Visual Studio常用快捷键

快捷键使用的熟练将极大地提高我们的开发侠效率&#xff0c;所以我们有必要记住开发中常用的快捷键。 F4打开属性面板F5调试CtriF5直接执行不调试F9设置&#xff0c;切换断点F10逐过程F11逐语句F12转到定义AltF12查看定义CtrlF查找CtrlA全选界面代码CtrlK CtrlK设置书签CtrlK …

SQLPLUS 使用的一些技巧

为什么80%的码农都做不了架构师&#xff1f;>>> SQLPLUS 使用的一些技巧 在ORACLE的维护过程中&#xff0c;目前ORACLE有很多易用的客户端 工具&#xff0c;如pl sql、delveloer、TOAD&#xff0c;但作为 数据库 管理员也需要经常和SQLPLUS 打交道&#xff0c;一些…

C#中泛型类型约束条件

记录一下&#xff0c;以免忘记。 泛型的类型参数where T &#xff1a;struct 类型参数需是值类型where T&#xff1a;class类型参数需是引用类型where T&#xff1a;new()类型参数要有一个public无参构造函数where T&#xff1a;<base class name>类型参数要派生自某个基…