linq中first() firstordefault() last() lastOrDefault() single() singleOrDeafult
一、firstordefault() 和 first()
class Program
{
static void Main(string[] args)
{
List<Emp> list = new List<Emp> {
new Emp{ Id="", Name="张三", Age="", Address="河北石家庄"},
new Emp{ Id="", Name="李四", Age="", Address="山东济南"},
new Emp{ Id="", Name="王五", Age="", Address="河南郑州"}
};
//firstordefault 如果找不到返回默认值 first如果找不到会发生异常
var emp = list.Where(m => m.Name == "张三").FirstOrDefault();
Console.WriteLine(emp);
var emp2 = list.Where(m => m.Name == "").First();
Console.WriteLine(emp2);
}
}
class Emp
{
public string Id { get; set; }
public string Name { get; set; }
public string Age { get; set; }
public string Address { get; set; } }

二、last() lastordefault()
class Program
{
static void Main(string[] args)
{
List<Emp> list = new List<Emp> {
new Emp{ Id="", Name="张三", Age="", Address="河北石家庄"},
new Emp{ Id="", Name="李四", Age="", Address="山东济南"},
new Emp{ Id="", Name="王五", Age="", Address="河南郑州"},
new Emp{ Id="", Name="王五", Age="", Address="天津武清"}
};
//lastOrdefult 和last 如果找不到返回默认值 last如果找不到会发生异常
var emp = list.Where(m => m.Name == "王五").LastOrDefault();
Console.WriteLine(emp.Address);
var emp2 = list.Where(m => m.Name == "").Last();
Console.WriteLine(emp2);
}
}
class Emp
{
public string Id { get; set; }
public string Name { get; set; }
public string Age { get; set; }
public string Address { get; set; } }
}

三、singe() singleordefault 唯一结果查询,超过一个结果报异常
static void Main(string[] args)
{
List<Emp> list = new List<Emp> {
new Emp{ Id="", Name="张三", Age="", Address="河北石家庄"},
new Emp{ Id="", Name="李四", Age="", Address="山东济南"},
new Emp{ Id="", Name="王五", Age="", Address="河南郑州"},
new Emp{ Id="", Name="王五", Age="", Address="天津武清"}
};
// single 和singleordefault 如果序列超过一个会报异常,常用唯一结果查询
var emp = list.Where(m => m.Name == "王五").SingleOrDefault();
Console.WriteLine(emp.Address);
var emp2 = list.Where(m => m.Name == "王五").Single();
Console.WriteLine(emp2);
}
}
class Emp
{
public string Id { get; set; }
public string Name { get; set; }
public string Age { get; set; }
public string Address { get; set; } }

linq中first() firstordefault() last() lastOrDefault() single() singleOrDeafult的更多相关文章
- 关于Linq中First、FirstOrDefault;Single、SingleOrDefault等方法的说明
关于Linq中First.FirstOrDefault:Single.SingleOrDefault等方法的说明 这里以First.FirstOrDefault进行说明,其他类似. 1.First:取 ...
- Linq特取操作之ElementAt,Single,Last,First源码分析
Linq特取操作之ElementAt,Single,Last,First源码分析 一:linq的特取操作 First/FirstOrDefault, Last/LastOrDefault, Eleme ...
- Linq中关键字的作用及用法
Linq中关键字的作用及用法 1.All:确定序列中的所有元素是否都满足条件.如果源序列中的每个元素都通过指定谓词中的测试,或者序列为空,则为 true:否则为 false. Demo: 此示例使用 ...
- linq中AsEnumerable和AsQueryable的区别
本文导读:用Linq来操作集合的时候会用到AsQueryable()和AsEnumerable(),何时该用AsQueryable()和何时该用AsEnumerable(),或许存在些疑惑.AsQue ...
- Linq中使用Left Join
use Test Create table Student( ID ,) primary key, ) not null ) Create Table Book( ID ,) primary key, ...
- 基础才是重中之重~理解linq中的groupby
linq将大部分SQL语句进行了封装,这使得它们更加面向对象了,对于开发者来说,这是一件好事,下面我从基础层面来说一下GroupBy在LINQ中的使用. 对GroupBy的多字段分组,可以看我的这篇文 ...
- Sliverlight linq中的数组筛选数据库中的数据
首先 什么是linq呢 ? LINQ即Language Integrated Query(语言集成查询),LINQ是集成到C#和Visual Basic.NET这些语言中用于提供查询数据能力的一个新特 ...
- c# List集合中First、Last、Single方法使用
操作符 如果源序列是空的 源序列只包含一个元素 源序列包含多个元素 First 抛异常 返回该元素 返回第一个元素 FirstOrDefault 返回default(TSource) 返回该元素 返回 ...
- Linq中 AsQueryable(), AsEnumerable()和ToList()的区别和用法
Linq中 AsQueryable(), AsEnumerable()和ToList()的区别和用法:在写LINQ语句的时候,往往会看到AsEnumerable() ,AsQueryable() 和T ...
随机推荐
- JS同源策略和跨域问题
同源策略和跨域问题:http://www.cnblogs.com/chaoyuehedy/p/5556557.html 深入浅出JSONP--解决ajax跨域问题:http://www.cnblogs ...
- HDU 1695 GCD#容斥原理
http://acm.hdu.edu.cn/showproblem.php?pid=1695 翻译题目:给五个数a,b,c,d,k,其中恒a=c=1,x∈[a,b],y∈[c,d],求有多少组(x,y ...
- MongoDB数据模型(二)
原文地址 接上一篇 四.模型树结构 父引用的模型树结构 这个数据模型描述了一个树形结构,在子节点中存储父节点的引用. 模式 父引用模式存储每个树节点到文档中,除了树节点外,文档还存储了父节点的id. ...
- 单击dbgrid列标题排序 升降序
delphi中如何通过单击列标题进行升降排序, 在dbgrid的ontitleclick事件里添加这样的事件处理 procedure TForm3.DBGrid1TitleClick(Column: ...
- webapi中的路由约束
Route Constraints Route constraints let you restrict how the parameters in the route template are ma ...
- poj 1411 Calling Extraterrestrial Intelligence Again
题意:给你数m,a,b,假设有数p,q,满足p*q<=m同时a/b<=p/q<=1,求当p*q最大的p和q的值 方法:暴力枚举 -_-|| and 优化范围 我们可以注意到在某一个m ...
- 华硕笔记本怎么进入PE之前的BIOS设置
1.先要制作一个U盘的PE启动盘,建议使用WIN8 PE 2.将制作好的PE启动盘接上电脑,开机按F2键进入BIOS ,先将[Secure]菜单下[Secure Boot Control]选项设置为[ ...
- 证明:一个整数a若不能被6整除,则a2+24必能被24整除。(整除理论,1.1.4)
证明:一个整数a若不能被6整除,则a2+24必能被24整除. 证明: 因为,a不能被6整除 所以,a不可以同时被2和3整除 所以,a一定是一个奇数, 所以,令a=2k+1,k是整数: 又因为,a2+2 ...
- Asp.Net MVC 在后台获取PartialView、View文件生成的字符串
在Asp.net MVC的实际开发中,有时需要在后台代码中获取某个View 或者 PartialView 生成的字符串,示例如下: 1. 将View文件输出为字符串: /// <summary& ...
- [PHP] 安装和配置
Apachehttpd-2.2.19-win64mysql5.6Phphttp://www.php.net/downloads.php 5.4Phpeclipsehttp://www.phpeclip ...