关于c#:使用LINQ查询语法查询null集合时会发生什么?

What happens when a null collection is queried with LINQ query syntax?

我的理解是什么都不会发生。

例如,此代码:

1
2
3
4
foreach (var some in (from u in possiblyNullCollection ) )
{
    //
}

应按照以下要求进行防护:

1
2
3
4
5
6
7
if ( possiblyNullCollection != null )
{
    foreach (var some in (from u in possiblyNullCollection ) )
    {
     //
    }
}

或者查询空集合安全吗?


如果使用Linq查询空集合,它将引发异常。您需要检查是否为空。

但是,空集合是可以的。

要记住的一点是,集合为空通常被认为是不好的做法。与集合中包含空项类似,它可能会导致许多错误。

LINQPad Window showing the results of the query