使用where()foreach返回多个源中的第一个项目

里克·洛夫(Rick Love)

我发现了一个有趣的代码段,该代码段使用Where()和foreach而不是预期的方式。但是,它们的用法似乎是一个非常有趣的解决方案,可以显着减少代码行。

// a, b, c are IEnumerable<string> of any data source and could be expensive to iterate
string GetFirstString(){

    foreach( var str in a.Where(...) )
        return str;

    foreach( var str in b.Where(...) )
        return str;

    foreach( var str in c.Where(...) )
        return str;

    return "";

} 

有没有一个更好的方法可以做到这一点,但又不“滥用” Where和foreach?

更新:

如果任何列表包含一个空条目并且Where谓词允许该空条目通过,那么它将返回null。(在大多数情况下,应该使GetFirstString跳过空值)

IVAAAN123

试试这个:

string GetFirstString(){
    return a.FirstOrDefault(...) 
        ?? b.FirstOrDefault(...) 
        ?? c.FirstOrDefault(...)
        ?? "";
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

最佳实践:处理foreach中的第一个/最后一个项目

来自分类Dev

在foreach中找到第一个项目?

来自分类Dev

Laravel foreach只返回第一个值

来自分类Dev

使用第一个 foreach 词干中的元素嵌套 Foreach 语句

来自分类Dev

ActiveRecord-“作用域”中的“第一个”方法返回多个记录

来自分类Dev

如何在数组中搜索多个键并返回第一个找到的值?

来自分类Dev

是否可以进行多个并行调用并接受使用Kotlin Flow返回的第一个?

来自分类Dev

smarty foreach中第一个元素的类

来自分类Dev

在第二forEach()中使用第一个$(this)

来自分类Dev

在第一个列表分页中显示项目

来自分类Dev

使用合并从2个表中返回第一个非空值

来自分类Dev

返回Haskell中列表的第一个元素

来自分类Dev

从列表中返回字符的第一个实例

来自分类Dev

仅获取多个事件中的第一个

来自分类Dev

如何使用foreach在Php中获取第一个元素结果?

来自分类Dev

R-使用列表中每个项目的第一个元素过滤列表

来自分类Dev

获取数组中的第一个元素并使用Aggregate返回?

来自分类Dev

如何使用迭代器返回ArrayList中的第一个结果

来自分类Dev

使用 map 返回多维数组中的第一个索引

来自分类Dev

使用 PostgreSQL xpath 函数并从数组中获取第一个返回值

来自分类Dev

使用 BeautifulSoup 从多个同名类中获取第一个类

来自分类Dev

PHP-Foreach返回一个值,第一个或最后一个

来自分类Dev

SelectList上的选定项目返回到第一个项目

来自分类Dev

SelectList上的选定项目返回到第一个项目

来自分类Dev

如何使用第一个源一个接一个地运行

来自分类Dev

尝试使用 Java 解决项目的 Euler 第一个问题,但无法返回结果

来自分类Dev

将第一个提交存储在一个空的项目存储库中

来自分类Dev

将第一个提交存储在一个空的项目存储库中

来自分类Dev

Yii2 ListView中的第一个和最后一个项目

Related 相关文章

  1. 1

    最佳实践:处理foreach中的第一个/最后一个项目

  2. 2

    在foreach中找到第一个项目?

  3. 3

    Laravel foreach只返回第一个值

  4. 4

    使用第一个 foreach 词干中的元素嵌套 Foreach 语句

  5. 5

    ActiveRecord-“作用域”中的“第一个”方法返回多个记录

  6. 6

    如何在数组中搜索多个键并返回第一个找到的值?

  7. 7

    是否可以进行多个并行调用并接受使用Kotlin Flow返回的第一个?

  8. 8

    smarty foreach中第一个元素的类

  9. 9

    在第二forEach()中使用第一个$(this)

  10. 10

    在第一个列表分页中显示项目

  11. 11

    使用合并从2个表中返回第一个非空值

  12. 12

    返回Haskell中列表的第一个元素

  13. 13

    从列表中返回字符的第一个实例

  14. 14

    仅获取多个事件中的第一个

  15. 15

    如何使用foreach在Php中获取第一个元素结果?

  16. 16

    R-使用列表中每个项目的第一个元素过滤列表

  17. 17

    获取数组中的第一个元素并使用Aggregate返回?

  18. 18

    如何使用迭代器返回ArrayList中的第一个结果

  19. 19

    使用 map 返回多维数组中的第一个索引

  20. 20

    使用 PostgreSQL xpath 函数并从数组中获取第一个返回值

  21. 21

    使用 BeautifulSoup 从多个同名类中获取第一个类

  22. 22

    PHP-Foreach返回一个值,第一个或最后一个

  23. 23

    SelectList上的选定项目返回到第一个项目

  24. 24

    SelectList上的选定项目返回到第一个项目

  25. 25

    如何使用第一个源一个接一个地运行

  26. 26

    尝试使用 Java 解决项目的 Euler 第一个问题,但无法返回结果

  27. 27

    将第一个提交存储在一个空的项目存储库中

  28. 28

    将第一个提交存储在一个空的项目存储库中

  29. 29

    Yii2 ListView中的第一个和最后一个项目

热门标签

归档