为什么我不能用逗号重新声明数组?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