2017-06-15 81 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寫道,它只是微軟人選擇實施的原因。