gpt4 book ai didi

c# - 检查列表为空 : not null or use Any 时哪个更好

转载 作者:太空狗 更新时间:2023-10-29 23:57:59 25 4
gpt4 key购买 nike

check list 为 null 哪个更好?

var newList;

if(newList!= null)

or newList.Any()

在上面的代码中,有时我检查 not null 有时我使用 Any(),我不知道哪个是最佳实践,为什么?

有什么建议吗?

提前致谢

最佳答案

这些是不一样的。

如果在 null 引用上使用

Any 将抛出异常。

对于列表,您可以将 .Any() 视为 .Count() != 0 (*)

您可能必须检查两者,并且必须在对 IEnumerable 调用 Any() 之前执行 null 检查。

一种方法是使用 null-safe 导航 ? 一次检查它们。 .

但有时如果你有一个你不应该有的空值,你想抛出一个自定义异常,并将一个空列表视为正确的输入,所以这一切都取决于上下文。

请记住它们是不同的。

(*) :如评论中所述,.Any() 实际上并未实现为 Count() == 0。对于列表,它在功能上是等效的,但最好使用 Any() 来测试 IEnumerable 是否为空,因为 Count() 可能需要遍历所有元素。

关于c# - 检查列表为空 : not null or use Any 时哪个更好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52661203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com