C#中有多个初始化的语法快捷方式吗?

有没有办法做到这一点:

valueType x = 1, y = 1, z = 1; 

人物较少?
例如,当我有大量的状态初始化为相同的起始值时。
谢谢!

如果起始值为零并且它们是您的类的成员(不是局部变量),那么您不需要将它们显式初始化为零。

否则,没有。

使用数组而不是拥有大量参数是否有意义?

你可以试试

 int x, y, z; x = y = z = 1; 

但是我看不出它会对你有什么帮助…如果你有很多变量你必须初始化为同一个东西,你可以考虑使用某种集合:

 var myInts = new List(); for (int i = 0; i < 1000; i++) myInts.Add(1); 

总的来说,我认为将每个声明分开往往更好。 它往往会让以后更容易改变。

特别是当许多变量倾向于表明它们应该组合成另一个对象时。

所以我倾向于……

 valueType x = IntialValue; valueType y = IntialValue; valueType z = IntialValue; 

等等…

让我们说你所有的“变量”实际上都是POCO的 字段 (普通的旧CLR对象,也就是说,对象没有任何意义,只能保存数据)。

 class State { public double pression_top; public double pression_bottom; /* hundreds and hundres of fields */ } 

在这种情况下,您可以执行以下操作:

 var myState = new State(); var t = typeof(State); foreach (var field in t.GetFields()) { field.SetValue(myState, 1); } 

但请注意,此代码经过优化,并且不是非常友好的并发性。