英語で読む

次の方法で共有


コンパイラ エラー CS0819

暗黙的に型指定された変数は、複数の宣言子を持つことができません。

複数の宣言子は、暗黙的に型指定された変数ではなく明示的な型宣言で使用できます。

このエラーを解決するには

次の 3 つのオプションがあります。

  1. 変数の型が同じである場合は、明示的な宣言を使用します。
  2. 値を宣言して、個別の行で暗黙的に型指定された各ローカル変数に値を代入します。
  3. タプル分解構文を使用して変数を宣言します。 : Tuple では IDisposable が実装されないため、このオプションは using ステートメント内では機能しません。

例 1

次のコードでは CS0819 が生成されます。

// 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 が生成されます。

// 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)
        //    {
        //    }
        //}
    }
}

関連項目