微信小程序教程 mysql Java Spring k8s SCI d3 eloquent configuration compilation bower NEJ 河南普通话考试报名官网 进销存源码 查看oracle连接数 bootstrap单选按钮 java解析pdf flutter ui构建工具 python安装 python基础知识 java介绍 java初学 java中的继承 java安装配置 java索引 java代码 java程序设计教程 linux安装系统 网络适配器驱动 rewritebase 德鲁伊武器 java分布式开发 影视后期软件 python输入数字 kmservice 淘宝自动发货软件 netreflector 英雄联盟崩溃 灰色按钮激活精灵 脚本大师 兽之祝福
当前位置: 首页 > 学习教程  > 编程语言

C#入门学习(Linq的FirstOrDefault)

2020/8/11 20:57:33 文章标签:

目录

  • 介绍
  • 例子
  • 列表为空
  • 其他

介绍

C#System.Linq为集合、数组等提供了丰富的操作方法,学习一下FirstOrDefault的使用。

需要添加using System.Linq;,否则无法使用FirstOrDefault

例子

using System;
using System.Linq;
using System.Collections.Generic;

public class MyClass
{
    class Person
    {
        public String name;
    }
    public static void Main()
    {
        List<Person> list = new List<Person>();
        Person p1 = new Person();
        Person p2 = new Person();
        Person p3 = new Person();
        Person p4 = new Person();
        p1.name = "Jack";
        p2.name = "John";
        p3.name = "David";
        p4.name = "Cat";
        list.Add(p1);
        list.Add(p2);
        list.Add(p3);
        list.Add(p4);

        Person first = list.FirstOrDefault(p =>
        {
            Console.WriteLine("来的人是:"+p.name);
            if (p.name.Equals("David"))
            {
                Console.WriteLine("找到David了,不用继续找了");
                return true;//结束对list的遍历
            }
            Console.WriteLine("还没找到David了,继续找");
            return false; //将会继续遍历列表中的其他人
        });

        if(first != null)
        {
            Console.WriteLine("等到的人是:" + first.name);
        }else
        {
            Console.WriteLine("什么人都没有等到");
        }        
        Console.ReadKey();
    }
}

控制台输出:
在这里插入图片描述
FirstOrDefault可以用来遍历。

列表为空

注释掉上面的

        //list.Add(p1);
        //list.Add(p2);
        //list.Add(p3);
        //list.Add(p4);

控制台输出:
在这里插入图片描述
因为列表为空,所谓的Fisrt元素就不存在,此时方法list.FirstOrDefault返回默认值。
列表中的元素是Person对象,所以返回对象的默认值null。
如果是int类型,则返回默认值0。


如果只注释掉两行:

        list.Add(p1);
        list.Add(p2);
        //list.Add(p3);
        //list.Add(p4);

那么列表中找不到David,也就只能返回false。最终FirstOrDefault的返回值就会是null。
在这里插入图片描述

其他

  • SingleOrDefault: 只取一个,如果0个,则返回null,如果>1个,抛出异常。
  • First:取满足条件的第一个元素,如果没有元素满足条件,抛出异常。

https://www.cnblogs.com/allan5204/p/4135157.html
https://blog.csdn.net/u014088408/article/details/89209693


本文链接: http://www.dtmao.cc/news_show_100445.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?