Ler em inglês

Compartilhar via


Erro do Compilador CS0819

Variáveis de tipo implícito não podem ter vários declaradores.

Vários declaradores são permitidos em declarações de tipo explícito, mas não com variáveis de tipo implícito.

Para corrigir este erro

Há três opções:

  1. Se as variáveis forem do mesmo tipo, use declarações explícitas.
  2. Declare e atribua um valor a cada variável local de tipo implícito em uma linha separada.
  3. Declare uma variável usando a sintaxe de desconstrução de tupla. Observação: essa opção não funcionará dentro de uma instrução using, uma vez que Tuple não implementa IDisposable.

Exemplo 1

O código a seguir gera 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);
    }
}

Exemplo 2

O código a seguir gera 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)
        //    {
        //    }
        //}
    }
}

Confira também