正确声明数组?

时间:2018-12-14 09:20:47

标签: c# arrays syntax

曾尝试研究它,但甚至不确定如何使用谷歌搜索。

我知道这会导致错误var intArray = {1,2,3,4};,并且必须是

var intArray = new int[]{1,2,3,4};int[] intArray = {1,2,3,4};

但是我似乎找不到真正的原因,为什么我不能使用第一个。

因为至少我希望它默认情况下会成为对象[]。

所以我要问的基本上是:为什么第一个不正确/不允许。

        var intArray = { 1, 2, 3, 4 }; //incorrect
        var numArray = new int[] { 1, 2, 3, 4 }; //correct
        int[] digArray = { 1, 2, 3, 4 }; //correct

〜欢迎提出一个更好的标题的建议,真的不知道该怎么问。〜

2 个答案:

答案 0 :(得分:2)

您的局部变量初始值设定项( var )在明确定义值时不知道您要赋予的类型。

所以:

var intArray = { 1, 2, 3, 4 };

输入一个类型后,它可能会起作用:

int intArray = { 1, 2, 3, 4 };

但是我们当然知道您不能在单个int中存储4个值,因此需要声明一个数组。

int[] digArray = { 1, 2, 3, 4 };
  

因为至少我希望它默认情况下会成为对象[]。

var = {1,2,3,4}可能有很多变体,因此您的IDE无法编译该代码并将其存储在内存中。您是否将其称为1个对象? 4个物体?字符串值?它是JSON模式吗?

答案 1 :(得分:0)

var intArray = new int[]{}
int[] digArray = {}

这两个指定数组的大小。创建数组时必须要做的事情。 哪里

var numArray 

没有。

如果您不想定义数组的大小,则可以使用列表。