zoukankan      html  css  js  c++  java
  • c# List集合中First、Last、Single方法使用

    操作符

    如果源序列是空的

    源序列只包含一个元素

    源序列包含多个元素

    First

    抛异常

    返回该元素

    返回第一个元素

    FirstOrDefault

    返回default(TSource)

    返回该元素

    返回第一个元素

    Last

    抛异常

    返回该元素

    返回最后一个元素

    LastOrDefault

    返回default(TSource)

    返回该元素

    返回最后一个元素

    Single

    抛异常

    返回该元素

    抛异常

    SingleOrDefault

    返回default(TSource)

    返回该元素

    抛异常

    很明显,如果输入序列只有一个元素的话,这几个操作符的执行结果是非常一致的:) 类似的,如果输入的序列是空的的话,那么没有“OrDefault”的操作符会抛异常(InvalidOperationException),而带有“OrDefault”的操作符则会返回元素类型的默认值(引用类型的默认值为null,int的默认值为0,等等)。

    如果(可能是被过滤过的)输入序列含有多个元素的话,那这些操作符的执行结果的差异是很大的,First和Last的结果是顾名思义的,而Single抛出异常。值得注意的是,SingleOrDefault也会抛出异常,因为它要做的事又不是像这样:如果输入序列只有一个元素的话,返回该元素,否则的话返回默认值。如果你需要能够处理多元素序列的操作符的话,用First或Last。如果你需要处理可能为空的序列的话,使用FirstOrDefault或LastOrDefault。请注意,如果使用带有“OrDefault”的操作符的话,那么一个空的序列和一个仅包含默认值的序列的执行结果会是完全一样的。

  • 相关阅读:
    第四周作业
    第三周作业
    第二周作业
    20162325 2016-2017-2 《程序设计与数据结构》课程总结
    实验五 网络编程与安全 实验报告
    实验四 Android程序设计-5
    结对编程项目-四则运算 挑战出题
    20162325金立清 实验四 Android程序设计 实验报告
    20162325 结对编程项目-四则运算 整体总结
    实验三 敏捷开发与XP实践 实验报告
  • 原文地址:https://www.cnblogs.com/zhengwei-cq/p/7217401.html
Copyright © 2011-2022 走看看