List<T>以前是我想的太简单了
经常使用List<string>,本以为没有什么值得注意的,今天才发现,原来基础不扎实是要出问题的,
List<string> list=new List<string>
此时这个list不是null,只不过是它现在的count()=0而已,
list.add(null);程序是正常的,此时这个list不是null,它现在的count()=1,已经完全颠覆了我以前的认知了。
而
List<string> list = null;
list.Add("1");
这样写是要报错的,
所以说我们平时都是这样声明一个list的
List<string> list=new List<string>
然后才可以list.add("");
但是有时候,条件不符合,那么并不会add,一直到方法返回,还是不为null,只不过是count()=0而已
所以在我们判断返回的list的时候最好是这样写是最为严谨的,
if (list != null && list.Count() > 0)
{
}
至于加不加 list.Count() > 0这个条件,那就要看情况而定了,
总之,今天这个小问题可以说坑了我2个小时,这个坑,我填了。
浙公网安备 33010602011771号