共用方式為


編譯器錯誤 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);
    }
}