使用英语阅读

通过


编译器错误 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)
        //    {
        //    }
        //}
    }
}

另请参阅