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 ...
随机推荐
- Chapter 2 Open Book——31
"It's too bad about the snow, isn't it?" Edward asked. I had the feeling that he was forci ...
- javascript中关于继承的理解
首先,你要理解在javascript中,每当一个新函数创建时,都会生成一个prototype属性,我们管它叫做原型对象.看一个例子: function foo(){ this.name='qiangq ...
- js--性能优化(转)
前言 一直在学习javascript,也有看过<犀利开发Jquery内核详解与实践>,对这本书的评价只有两个字犀利,可能是对javascript理解的还不够透彻异或是自己太笨,更多的是自己 ...
- Sass入门:第二章
1.Sass语法格式 假设有这样一段CSS代码: body{ font : 100% Helvetica , sans-serif; color : #333; } Sass最初的语法格式 $font ...
- iptables允许FTP
在iptables里设置允许访问ftp(建立连接,数据传输) 由于ftp服务在建立连接和传输数据时,使用的时不同的端口,建立连接的端口20.21,数据传输的端口可以自定义: 修改ftp配置文件,指定用 ...
- OpenGL多视口
#include <gl/glew.h> #include <gl/freeglut.h> #include <iostream> ; ; float rtri = ...
- Nimbus<二>storm启动nimbus源码分析-nimbus.clj
nimbus是storm集群的"控制器",是storm集群的重要组成部分.我们可以通用执行bin/storm nimbus >/dev/null 2>&1 &a ...
- VMware 下的Linux系统远程连接putty
ifconfig查看ip地址 虚拟网卡需要自己新建 nat8 putty不能显示中文的解决办法 http://jingyan.baidu.com/article/5552ef47df8a97518f ...
- 对方网络ping不通
后台接口往往部署在其他服务器上如果ping不同 很大可能是因为对方开防火墙的原因 解决方法:控制面板-windows防火墙-打开或关闭windows防火墙
- sync命令
sync命令用于强制被改变的内容立刻写入磁盘,更新超块信息. 在Linux/Unix系统中,在文件或数据处理过程中一般先放到内存缓冲区中,等到适当的时候再写入磁盘,以提高系统的运行效率.sync命令则 ...