zoukankan      html  css  js  c++  java
  • 关于Linq中First、FirstOrDefault;Single、SingleOrDefault等方法的说明

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

    这里以First、FirstOrDefault进行说明,其他类似。 
    1、First:取序列中满足条件的第一个元素,如果没有元素满足条件,则抛出异常 

    2、FirstOrDefault:取序列中满足条件的第一个元素,如果没有元素满足条件,则返回默认值(对于可以为null的对象,默认值为null,对于不能为null的对象,如int,默认值为0)

    3、Single,返回序列中的唯一一条记录,如果没有或返回多条,则引发异常。

    4、SingleOrDefault,返回序列中的唯一一条记录,如果序列中不包含任何记录,则返回默认值,如果返回多条,则引发异常。 

    注:以上默认值为NULL。

    First、FirstOrDefault的区别在于:当没有元素满足条件时,一个抛出异常,一个返回默认值。
    因此,在使用时,一定要注意这个区别: 
    1、当确信序列中一定有满足条件的元素时,使用First方法,取到元素后,无需判断是否为null
    2、当序列中可能找不到满足条件的元素时,使用FirstOrDefault方法,然后,一定要对返回值是否为null,进行不同的处理

  • 相关阅读:
    bzoj1295 [SCOI2009]最长距离
    bzoj1853 [Scoi2010]幸运数字
    bzoj1855 [Scoi2010]股票交易
    bzoj1294 [SCOI2009]围豆豆
    bzoj1237 [SCOI2008]配对
    bzoj1084 [SCOI2005]最大子矩阵
    bzoj1068 [SCOI2007]压缩
    bzoj1082 [SCOI2005]栅栏
    soj97 旅行
    soj98 卡牌
  • 原文地址:https://www.cnblogs.com/slwangzi/p/8508305.html
Copyright © 2011-2022 走看看