带逗号的C#数组声明

时间:2017-06-15 17:44:30

标签: c# arrays

为什么我不能用逗号重新声明一个数组?

static void Main(string[] args)
{
    short[] arr = new short[6] { 1,1,1,1,1,1 };

    if(1)
    {
        arr = {1,0,0,1,1,0}; // this line doesn't work
    }
}

2 个答案:

答案 0 :(得分:7)

初始化表达式不是{1,0,0,1,1,0}

初始化表达式必须为new short[6] { 1,1,1,1,1,1 }

所以,基本上,你的问题陈述就是你问题的答案。

答案 1 :(得分:1)

此语法:short[] arr = {1, 0, 0, 1, 1, 0};
 被称为数组初始化语法,它只适用于 声明 为什么?

正如那个人here写的那样,它是微软人员出于某种原因选择实施的方式。