Lire en anglais

Partager via


Erreur du compilateur CS0819

Les variables implicitement typées ne peuvent pas avoir plusieurs déclarateurs.

L’utilisation de plusieurs déclarateurs est autorisée dans les déclarations de type explicite, mais pas dans les variables implicitement typées.

Pour corriger cette erreur

Vous disposez de trois options :

  1. Si les variables sont du même type, utilisez des déclarations explicites.
  2. Déclarez, puis affectez une valeur à chaque variable locale implicitement typée sur une ligne distincte.
  3. Déclarez une variable à l’aide de la syntaxe de déconstruction Tuple . Remarque : cette option ne fonctionnera pas à l’intérieur d’une instruction using, car Tuple n’implémente pas IDisposable.

Exemple 1

Le code suivant génère l’erreur 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);
    }
}

Exemple 2

Le code suivant génère l’erreur 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)
        //    {
        //    }
        //}
    }
}

Voir aussi