//问题一:
List<string> list = new List<string>();
list = null;
//这样写可以使用,但是当list值为null时会报未将对象的引用设置到对象的实列
if (list.Count > 0)
{
}
//问题2:
List<string> list2 = null;
List<string> list4 = new List<string>();
list2 = list4;
//这样写可以使用,但是当list的count为0时同样为进入到if中
if (list2 != null)
{
}
//问题三:
//这样写,当if值为null时,list.Count > 0会报未将对象的引用设置到对象的实列
if (list.Count > 0 || list != null)
{
}
//问题四:
//这样写,会报未将对象的引用设置到对象的实列
List<string> events = null;
if (events != null || events.Count != 0)
{
}
else
{
}
//解决方法:
List<string> list3 = new List<string>();
list3 = (list3 == null) ? new List<string>() : list3;//加个这个就可以直接使用list.Count > 0这种这种判断了,list值为null也没啥影响了
if (list.Count > 0)
{
}
//或者
if (list3 == null || list3.Count == 0)
{
}
else
{
}
知识兔