logo
C#, 320 стр

Определенное присваивание

Присваивание в языке C# называется определенным присваиванием (definite assignment). В этом термине отражен тот уже обсуждавшийся факт, что все используемые в выражениях переменные должны быть ранее инициализированы и иметь определенные значения. Единственное, за чем компилятор не следит, так это за инициализацией переменных массива. Для них используется инициализация элементов, задаваемая по умолчанию. Приведу пример:

//определенное присваивание

int an =0 ; //переменные должны быть инициализированы

for (int i= 0;i<5;i++)

{an =i+1;}

x+=an; z+=an; y = an;

string[] ars = new string[3];

double[] ard = new double[3];

for (int i= 0;i<3;i++)

{

//массивы могут быть без инициализации

ard[i] += i+1;

ars[i] += i.ToString()+1;

Console.WriteLine("ard[" +i + "]=" +ard[i] +

"; ars[" +i + "]=" +ars[i]);

}

Заметьте, в этом фрагменте переменная an обязана быть инициализированной, а массивы ard и ars не инициализируются и спокойно участвуют в вычислениях.