閱讀英文

共用方式為


編譯器錯誤 CS0819

隱含型別變數不可有多重宣告子。

明確類型宣告中允許多個宣告子,但隱含類型變數則不允許。

更正這個錯誤

共有三個選項:

  1. 如果變數的型別相同,請使用明確宣告。
  2. 在個別行上,宣告並指派每個隱含類型區域變數的值。
  3. 使用元組解構語法宣告變數。 注意:此選項無法在 using 陳述式內使用,因為 Tuple 不會實作 IDisposable

範例 1

下列程式碼會產生 CS0819:

C#
// cs0819.cs
class Program
{
    public static void Main()
    {
        var a = 3, b = 2; // CS0819

        // First correction option.
        //int a = 3, b = 2;

        // Second correction option.
        //var a = 3;
        //var b = 2;

        // Third correction option.
        //var (a, b) = (3, 2);
    }
}

範例 2

下列程式碼會產生 CS0819:

C#
// cs0819.cs
class Program
{
    public static void Main()
    {
        using (var font1 = new Font("Arial", 10.0f),
            font2 = new Font("Arial", 10.0f)) // CS0819
        {
        }

        // First correction option.
        //using (Font font1 = new Font("Arial", 10.0f),
        //    font2 = new Font("Arial", 10.0f))
        //{
        //}

        // Second correction option.
        //using (var font1 = new Font("Arial", 10.0f)
        //{
        //    using (var font2 = new Font("Arial", 10.0f)
        //    {
        //    }
        //}
    }
}

另請參閱