我想知道,IsNullOrEmpty()在List实例(不是在.NET Framework中)上使用假设方法,如果实例实际上是null,它将抛出一个Object引用,而不是设置为对象异常的实例,或类似的东西.考虑到这一点,是否可以在null实例上调用方法?
Llo*_*oyd 12
没有IsNullOrEmpty()一个List只有一个String.在latter的情况下,它是一个静态方法,所以不需要实例,你传入一个字符串引用来检查它,它可以在那里检查null.
扩展方法可以采用null"this"参数.我不知道框架中的List的任何方法IsNullOrEmpty,但想象它将实现如下:
public bool IsNullOrEmpty<T>(this IList<T> list)
{
if (list == null) return true;
return list.Count == 0;
}
Run Code Online (Sandbox Code Playgroud)
您可以在空引用上调用此(或任何其他)扩展方法,而不会出现任何问题:
List<int> nullList = null;
if (nullList.IsNullOrEmpty())
{
...
}
Run Code Online (Sandbox Code Playgroud)