2017-06-15 41 views
-1

为什么我不能用逗号重新声明数组?C#使用逗号的数组声明

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 
    } 
} 
+0

short [] arr = {1,1,1,1,1,1}; – jdweng

+5

'if(1)',这个javascript是什么? – maccettura

+0

'var bool = true; if(bool){DoTheThing()};'是合法的。我一直使用if(bool)._。 – Kyle

回答

7

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

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

所以,从本质上讲,你的问题的声明是回答你的问题。

+2

尽管你可以省略长度说明符。 – ckuri

+0

@ckuri是的,没错,并且更可取。 –

1

这句法:short[] arr = {1, 0, 0, 1, 1, 0};
被称为数组初始化语法,它只能在声明
为什么?

正如人here写道,它只是微软人选择实施的原因。