【发布时间】:2020-03-04 20:33:24
【问题描述】:
使用 LINQ 我想检查 myList != null 是否,然后执行 Where。
我知道我会写
if (myList != null { myList.Where(p => p.x == 2 && p.y == 3); }
但我想使用:myList?.Where(p => p.x == 2 && p.y == 3);
这行得通吗?
如果没有,您还知道哪些其他优雅的解决方案?
【问题讨论】:
-
“LINQ 查询”是指查询语法吗?
from x in y where z select w语法。 -
1.使列表永远不可能为 null 或 2。
myList?.Where(p => p.x == 2 && p.y == 3) ?? DEFAULT_VALUE;其中 DEFAULT_VALUE 可能是一个空列表。 -
请显示您的列表结构
-
我的问题可能不清楚。我在问 myList?.Where() 是否是一个有效的表达式,如果不是,还有什么替代方法
-
“我在问 myList?.Where() 是否是一个有效的表达式” - 你的 IDE 标记了吗?你的编译器有没有报错?运行时是否抛出异常?它没有做你期望它做的事吗?如果所有这些的答案都是“否”,那么它就是“有效”。
标签: c# linq null-check