zoukankan      html  css  js  c++  java
  • First_FirstOrDefault_Single_SingleOrDefault 使用

    • First 默认取第一个数据,如果没有数据会产生异常
    • FirstOrDefault 默认取第一个数据,如果没有数据则为null
    • Last 默认取最后一个数据,如果没有数据会产生异常
    • LastOrDefault 默认取最后一个数据,如果没有数据则为null
    • Single 只取一个数据,若集合中包含多个或者没有数据,抛异常
    • SingleOrDefault 只取一个数据,若集合中包含多个数据,抛异常;若没有数据则为null

    Demo:

    public class Program
        {
            static void Main(string[] args)
            {
                List<People> peoples = new List<People>();
                //获取数据
                peoples = GetData();
                
                //下面使用 lamda 表达式演示
                People p00 = peoples.First(p => p.ID > 1);          // 取 ID=2 的数据
                People p01 = peoples.First(p => p.ID > 6);          // 异常
                People p02 = peoples.FirstOrDefault(p => p.ID > 1); // 取 ID=2 的数据
                People p03 = peoples.FirstOrDefault(p => p.ID > 6); // null
        
                People p10 = peoples.Single(p => p.ID > 5);         // 取 ID=6 的数据 ,此时搜索结果中只有1条数据
                People p11 = peoples.Single(p => p.ID > 1);         // 异常 ,此时搜索结果中有5条数据
                People p12 = peoples.SingleOrDefault(p => p.ID > 5);// 取 ID=6 的数据 ,此时搜索结果中只有1条数据
                People p13 = peoples.SingleOrDefault(p => p.ID > 1);// null ,此时搜索结果中有5条数据
                
                People p20 = peoples.Last(p => p.ID > 1);           // 取 ID=6 的数据
                People p21 = peoples.Last(p => p.ID > 6);           // 异常 ,此时搜索结果无数据
                People p22 = peoples.LastOrDefault(p => p.ID > 1);  // 取 ID=6 的数据
                People p23 = peoples.LastOrDefault(p => p.ID > 6);  // null ,此时搜索结果无数据
            }
    
    
            //Insert Data
            public static List<People> GetData()
            {
                List<People> peoples = new List<People>();
                peoples.Add(new People
                {
                    ID = 1,
                    Name = "zs",
                    Age = 20,
                    Address = "上海"
                });
                peoples.Add(new People
                {
                    ID = 2,
                    Name = "xm",
                    Age = 25,
                    Address = "苏州"
                });
                peoples.Add(new People
                {
                    ID = 3,
                    Name = "ls",
                    Age = 23,
                    Address = "无锡"
                });
                peoples.Add(new People
                {
                    ID = 4,
                    Name = "wt",
                    Age = 28,
                    Address = "南京"
                });
                peoples.Add(new People
                {
                    ID = 5,
                    Name = "ll",
                    Age = 26,
                    Address = "镇江"
                });
                peoples.Add(new People
                {
                    ID = 6,
                    Name = "ql",
                    Age = 30,
                    Address = "合肥"
                });
                return peoples;
            }
        }
    

    People类:

    public class People
        {
            public int ID { get; set; }
            public string Name { get; set; }
            public int Age { get; set; }
            public string Address { get; set; }
    
            public string ToString()
            {
                return "ID:"+ID+" ,Name:"+Name+" ,Age:"+Age+" ,"+Age+" ,Address:"+Address;
            }
        }
    
  • 相关阅读:
    在main函数中使用django模型(附django正反向的外键关联查询)
    使用正则表达式替换文本内容
    spring 上下文和spring mvc上下文和web应用上下文servletContext之间的关系
    idea快捷键
    Spring MVC的jar包版本问题
    Spring MVC的参数类型转换
    HiddenHttpMethodFilter进行请求过滤,实现Rest风格的url
    Spring MVC的异常处理
    Spring MVC 的拦截器
    @ResponseBody&@RequestBody
  • 原文地址:https://www.cnblogs.com/wangqilong/p/12540386.html
Copyright © 2011-2022 走看看