Ошибка компилятора CS0269
Обновлен: Ноябрь 2007
Сообщение об ошибке
Использование выходного параметра "параметр", которому не присвоено значение
Use of unassigned out parameter 'parameter'
Компилятору не удалось проверить, присвоено ли выходному параметру значение до его использования; значение параметра может быть не определено при присвоении. Прежде чем получить доступ к параметрам out, их нужно обязательно инициализировать. Если необходимо использовать значение переданной переменной, то используйте параметр ref. Дополнительные сведения см. в разделе Передача параметров (Руководство по программированию в C#).
Пример
Следующий пример приводит к возникновению ошибки CS0269:
// CS0269.cs
class C
{
public static void F(out int i)
// Try this instead:
// public static void F(ref int i)
{
int k = i; // CS0269
i = 1;
}
public static void Main()
{
int myInt;
F(out myInt);
}
}
Эта ошибка может также возникать, если инициализация переменной выполняется в блоке "try", в котором компилятор не может проверить присвоение.
// CS0269b.cs
class C
{
public static void F(out int i)
{
try
{
// Assignment occurs, but compiler can't verify it
i = 1;
}
catch
{
}
int k = i; // CS0269
i = 1;
}
public static void Main()
{
int myInt;
F(out myInt);
}
}