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="001", Name="张三", Age="10", Address="河北石家庄"},
             new Emp{ Id="002", Name="李四", Age="15", Address="山东济南"},
             new Emp{ Id="003", Name="王五", Age="23", 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="001", Name="张三", Age="10", Address="河北石家庄"},
             new Emp{ Id="002", Name="李四", Age="15", Address="山东济南"},
             new Emp{ Id="003", Name="王五", Age="23", Address="河南郑州"},
             new Emp{ Id="004", Name="王五", Age="45", 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="001", Name="张三", Age="10", Address="河北石家庄"},
             new Emp{ Id="002", Name="李四", Age="15", Address="山东济南"},
             new Emp{ Id="003", Name="王五", Age="23", Address="河南郑州"},
             new Emp{ Id="004", Name="王五", Age="45", 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; }

    }

时间: 2024-10-04 02:10:01

linq中first() firstordefault() last() lastOrDefault() single() singleOrDeafult的相关文章

关于Linq中First、FirstOrDefault;Single、SingleOrDefault等方法的说明

关于Linq中First.FirstOrDefault:Single.SingleOrDefault等方法的说明 这里以First.FirstOrDefault进行说明,其他类似. 1.First:取序列中满足条件的第一个元素,如果没有元素满足条件,则抛出异常 2.FirstOrDefault:取序列中满足条件的第一个元素,如果没有元素满足条件,则返回默认值(对于可以为null的对象,默认值为null,对于不能为null的对象,如int,默认值为0) 3.Single,返回序列中的唯一一条记录,

Linq特取操作之ElementAt,Single,Last,First源码分析

Linq特取操作之ElementAt,Single,Last,First源码分析 一:linq的特取操作 First/FirstOrDefault, Last/LastOrDefault, ElementAt/ElementAtOrDefault, Single/SingleOrDefault 二:First/FirstOrDefault 介绍 解释: 用于返回序列中的第一个值 异常: 如果当前集合没有值的话,如果你取第一个值,会抛出throw Error.NoElements();异常. pu

Sliverlight linq中的数组筛选数据库中的数据

首先 什么是linq呢 ? LINQ即Language Integrated Query(语言集成查询),LINQ是集成到C#和Visual Basic.NET这些语言中用于提供查询数据能力的一个新特性. 它是.NET框架的扩展,它允许我们以数据库查询的方式查询数据集合. 借助于LINQ技术,我们可以使用一种类似SQL的语法来查询任何形式的数据. 接下来讲讲我工作中用到的 linq中的数组筛选数据库中的数据 public List GetList1(string cardPhone,string

linq中AsEnumerable和AsQueryable的区别

本文导读:用Linq来操作集合的时候会用到AsQueryable()和AsEnumerable(),何时该用AsQueryable()和何时该用AsEnumerable(),或许存在些疑惑.AsQueryable是在数据库中查询再返回数据,AsEnumerable是从数据库读取全部数据再在程序中查询. 在使用LINQ 进行数据集操作时,LINQ 不能直接从数据集对象中查询,因为数据集对象不支持LINQ 查询,所以需要使用AsEnumerable 方法返回一个泛型的对象以支持LINQ 的查询操作.

Linq中使用Left Join

use Test Create table Student( ID int identity(1,1) primary key, [Name] nvarchar(50) not null ) Create Table Book( ID int identity(1,1) primary key, [Name] nvarchar(50)not null, StudentID int not null ) insert into Student values('张三') insert into St

c# List集合中First、Last、Single方法使用

操作符 如果源序列是空的 源序列只包含一个元素 源序列包含多个元素 First 抛异常 返回该元素 返回第一个元素 FirstOrDefault 返回default(TSource) 返回该元素 返回第一个元素 Last 抛异常 返回该元素 返回最后一个元素 LastOrDefault 返回default(TSource) 返回该元素 返回最后一个元素 Single 抛异常 返回该元素 抛异常 SingleOrDefault 返回default(TSource) 返回该元素 抛异常 很明显,如果

LINQ中的一些查询语句格式

LINQ的基本格式如下所示:var <变量> = from <项目> in <数据源> where <表达式> orderby <表达式> LINQ 基本子句from查询子句——基础后面跟随着项目名称和数据源示例代码如下:var str = from lq in str select lq; 其中select语句指定了返回到集合变量中的元素是来自哪个数据源的 from查询子句——嵌套查询可以在from子句中嵌套另一个from子句即可,示例代码如下

Linq中GroupBy方法的使用总结(转)

Group在SQL经常使用,通常是对一个字段或者多个字段分组,求其总和,均值等. Linq中的Groupby方法也有这种功能.具体实现看代码: 假设有如下的一个数据集: public class StudentScore { public int ID { set; get; } public string Name { set; get; } public string Course { set; get; } public int Score { set; get; } public str

Linq 中按照多个值进行分组(GroupBy)

Linq 中按照多个值进行分组(GroupBy) .GroupBy(x => new { x.Age, x.Sex }) group emp by new { emp.Age, emp.Sex } into g // 实现多key分组的扩展函数版本 var sums = empList .GroupBy(x => new { x.Age, x.Sex }) .Select(group => new { Peo = group.Key, Count = group.Count() });