爲什麼我不能用逗號重新聲明數組?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
}
}
爲什麼我不能用逗號重新聲明數組?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
}
}
初始化表達式不是{1,0,0,1,1,0}
初始化表達式必須是new short[6] { 1,1,1,1,1,1 }
所以,從本質上講,你的問題的聲明是回答你的問題。
儘管你可以省略長度說明符。 – ckuri
@ckuri是的,沒錯,並且更可取。 –
這句法:short[] arr = {1, 0, 0, 1, 1, 0};
被稱爲數組初始化語法,它只能在聲明。
爲什麼?
正如人here寫道,它只是微軟人選擇實施的原因。
short [] arr = {1,1,1,1,1,1}; – jdweng
'if(1)',這個javascript是什麼? – maccettura
'var bool = true; if(bool){DoTheThing()};'是合法的。我一直使用if(bool)._。 – Kyle