C# int test[]=new int[0]是什么意思?

C# int test[]=new int[0]是什么意思?,c#,.net,arrays,C#,.net,Arrays,上面的元素仍然会创建一个元素吗?它是一个简单的空数组,就像一个空列表或一般的空集合一样 唯一的区别是,以后不能通过添加元素来修改它 例如,当一个方法返回一个数组作为结果时,它可能非常有用。 当方法没有结果时,您可以返回空数组,而不是返回null,因此在调用代码中,您可以跳过无用的null检查,直接进行枚举。否 如果您尝试向该数组中添加任何内容,您将得到IndexOutOfRangeException。我不这么认为,数组不是动态大小的,因此与空列表不同,您不能向其中添加任何内容。我的比喻并不是说空

上面的元素仍然会创建一个元素吗?

它是一个简单的空数组,就像一个空列表或一般的空集合一样

唯一的区别是,以后不能通过添加元素来修改它

例如,当一个方法返回一个数组作为结果时,它可能非常有用。
当方法没有结果时,您可以返回空数组,而不是返回
null
,因此在调用代码中,您可以跳过无用的
null
检查,直接进行枚举。


如果您尝试向该数组中添加任何内容,您将得到IndexOutOfRangeException。

我不这么认为,数组不是动态大小的,因此与空列表不同,您不能向其中添加任何内容。我的比喻并不是说空数组可以调整大小/修改,但是,它可以像一个空列表或集合一样遍历……我同意您的编辑,但是OP(以一种迂回的方式)询问数组中是否可以存储任何元素。显然,情况并非如此。“上面的代码还会创建一个元素吗?”英语不是我的第一语言,但对我来说它听起来像:“上面的代码还会创建一个包含一个元素的数组吗?”但我可能错了。。。不管怎样,他接受了你的答案也没关系@赛义夫·阿尔·哈蒂:他们叫我快画麦克·斯努弗斯:)