通常在C#中我必须这样做
if(x.Items!=null && x.Items.Any())
{ .... }
Run Code Online (Sandbox Code Playgroud)
收藏品有捷径吗?
Jon*_*eet 51
在C#6中,您将能够编写:
if (x.Items?.Any() == true)
Run Code Online (Sandbox Code Playgroud)
在此之前,您总是可以编写自己的扩展方法:
public static bool NotNullOrEmpty<T>(this IEnumerable<T> source)
{
return source != null && source.Any();
}
Run Code Online (Sandbox Code Playgroud)
然后使用:
if (x.NotNullOrEmpty())
Run Code Online (Sandbox Code Playgroud)
更改名称以满足您的口味,例如NullSafeAny
可能更符合您的喜好 - 但我肯定会在名称中清楚地表明它是一个有效的呼叫,即使它x
是空的.