所以我经常遇到这种情况...其中Do.Something(...)返回一个空集合,如下所示:int[]returnArray=Do.Something(...);然后,我尝试像这样使用这个集合:foreach(intiinreturnArray){//dosomemorestuff}我很好奇,为什么foreach循环不能对空集合进行操作?在我看来,使用空集合执行0次迭代似乎合乎逻辑……相反,它会抛出NullReferenceException。有人知道为什么会这样吗?这很烦人,因为我使用的API并不清楚它们究竟返回什么,所以我最终到处都是if(someCollection!=null)
所以我经常遇到这种情况...其中Do.Something(...)返回一个空集合,如下所示:int[]returnArray=Do.Something(...);然后,我尝试像这样使用这个集合:foreach(intiinreturnArray){//dosomemorestuff}我很好奇,为什么foreach循环不能对空集合进行操作?在我看来,使用空集合执行0次迭代似乎合乎逻辑……相反,它会抛出NullReferenceException。有人知道为什么会这样吗?这很烦人,因为我使用的API并不清楚它们究竟返回什么,所以我最终到处都是if(someCollection!=null)