为什么要检查List <T> .Count <= 0?

Avi*_*atz 4 c#

我在许多代码片段中看到以下条件用于检查列表是否为空:

List<string> someList = someFunctionThatPopulatesAList();
if (someList == null || someList.Count <= 0)
    return;
Run Code Online (Sandbox Code Playgroud)

我想知道 - 为什么不使用以下条件:

if (someList == null || someList.Count == 0)
    return;
Run Code Online (Sandbox Code Playgroud)

有什么情况List<T>.Count是否定的?

Rah*_*thi 5

你可以简单地尝试使用Any()之类的

if ((someList!= null) && (!someList.Any())) {

}
Run Code Online (Sandbox Code Playgroud)

请注意,如果列表使用了IEnumerable<T>并且您想要使用LINQ选项,则可以使用它.

是否存在List.Count为负数的情况?

不,这不对.实际上,无论何时使用类似的操作,Count或者length返回一个带符号的整数,所以它更像是一个实现来检查你是否正在实现它以检查它是否是一个积极的结果.(但是在技术上你不需要进行检查它更像是一个想法实现.)