編譯器錯誤 CS0269
更新:2007 年 11 月
錯誤訊息
使用未指派的 out 參數 'parameter'
編譯器無法確認是否在使用 out 參數前已指派其值;在指派時其值可能尚未定義。請確定在存取值之前已初始化 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);
}
}