Есть ли способ сделать это:
valueType x = 1, y = 1, z = 1;
с меньшим количеством символов?
например, Когда у меня есть большая сумма состояния для инициализации к тому же начальному значению.
Спасибо!
Если начальное значение равно нулю, и они являются членами вашего класса (не локальные переменные), то вам не нужно явно инициализировать их до нуля.
В противном случае нет.
будет иметь смысл использовать массивы вместо того, чтобы иметь большое количество параметров?
Вы можете попробовать
int x, y, z;
x = y = z = 1;
, но я не вижу, как это поможет вам ... если у вас действительно много переменных, вы должны инициализировать к тому же , вы могли бы рассмотреть вопрос о некоторой коллекции:
var myInts = new List<int>();
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);
}
Обратите внимание, однако этот код нет , оптимизирован, а не очень удобно.