0Pricing
C# Academy · Leçon

Quand éviter var

Gardez un code lisible en indiquant explicitement le type lorsque cela est nécessaire.

Quand éviter var est une leçon C# Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage C# Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours C# Academy comprend 4 leçons au total.

var peut masquer le type

var est pratique, mais peut masquer le type réel d’une variable et nuire à la lisibilité pour la personne qui lira le code ensuite.

using System;

class Program {
    static void Main() {
        var x = Compute();
        Console.WriteLine(x);
    }
    static int Compute() { return 42; }
}

Valeurs de retour de méthode peu claires

Lorsque le nom d’une méthode ne révèle pas le type de retour, préférez un type explicite afin que les lecteurs sachent ce qu’ils obtiennent.

using System;

class Program {
    static double Process() { return 3.14; }
    static void Main() {
        double value = Process();
        Console.WriteLine(value);
    }
}

Surprises liées aux types numériques

var sum = 0 est un int. Si vous vous attendez à un double, cela peut provoquer des erreurs de division entière.

using System;

class Program {
    static void Main() {
        double sum = 0;
        sum += 7 / 2.0;
        Console.WriteLine(sum);
    }
}

Soyez explicite pour les interfaces

Si vous souhaitez programmer avec une interface, déclarez-la explicitement ; var choisirait plutôt le type concret.

using System;
using System.Collections.Generic;

class Program {
    static void Main() {
        IList<int> items = new List<int> { 1, 2 };
        Console.WriteLine(items.Count);
    }
}

Initialiseurs éloignés

Lorsque l’initialiseur est une expression longue ou imbriquée, un type explicite exprime mieux l’intention que var.

using System;

class Program {
    static void Main() {
        int finalScore = (10 + 5) * 2 - 3;
        Console.WriteLine(finalScore);
    }
}

À éviter pour clarifier les types primitifs

De nombreuses équipes écrivent le type explicite pour les types primitifs simples afin que la nature prévue du nombre soit parfaitement claire.

using System;

class Program {
    static void Main() {
        long bigCount = 5000000000;
        Console.WriteLine(bigCount);
    }
}

var ne peut pas être un champ

var est réservé aux variables locales. Les champs, les paramètres et les types de retour doivent toujours être explicites.

using System;

class Program {
    static int field = 100;
    static void Main() {
        Console.WriteLine(field);
    }
}

Inférence numérique mixte

Soyez prudent : var avg = total / count avec deux entiers reste un entier. Explicitez votre intention lorsque vous avez besoin de nombres décimaux.

using System;

class Program {
    static void Main() {
        int total = 7, count = 2;
        double avg = (double)total / count;
        Console.WriteLine(avg);
    }
}

Lorsque les guides de style diffèrent

Certains guides recommandent « utilisez var uniquement lorsque le type est évident du côté droit ». Suivre une règle cohérente aide toute l’équipe.

using System;

class Program {
    static void Main() {
        var customer = new string("Ann"[0], 3);
        Console.WriteLine(customer);
    }
}

Concilier commodité et clarté

L’objectif est d’obtenir un code lisible. Utilisez var lorsqu’il est utile et des types explicites lorsqu’ils apportent de la clarté.

using System;
using System.Collections.Generic;

class Program {
    static void Main() {
        var lookup = new Dictionary<int, string>();
        int key = 1;
        lookup[key] = "one";
        Console.WriteLine(lookup[1]);
    }
}

Une règle pratique

Si vous ne pouvez pas déterminer le type en lisant la ligne seule, écrivez-le explicitement. Sinon, var convient.

using System;

class Program {
    static void Main() {
        var greeting = "Hello";
        decimal price = 19.99m;
        Console.WriteLine(greeting + " " + price);
    }
}

Vérification rapide

Évaluez votre jugement sur les situations où il faut éviter var.

Récapitulatif

Évitez var lorsqu’il masque un type important, lorsque la nature du nombre est importante (int ou double), lorsque vous souhaitez cibler une interface ou lorsque le nom d’une méthode ne révèle pas son type de retour.

var ne fonctionne que pour les variables locales. Une bonne règle : si la ligne seule ne révèle pas le type, écrivez-le explicitement.

Questions Fréquemment Posées

La leçon « Quand éviter var » est-elle gratuite ?

Oui — le texte complet de « Quand éviter var » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours C# Academy, passe à CoddyKit PRO. Le cours C# Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Quand éviter var » ?

Gardez un code lisible en indiquant explicitement le type lorsque cela est nécessaire. Tu pratiques C# Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer C# Academy ?

Aucune expérience préalable n'est requise. C# Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Quand éviter var » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon C# Academy ?

Oui. Chaque leçon C# Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Inférence du type des variables locales avec var
  2. Quand éviter var
  3. Le type dynamic
  4. Expressions new dont le type est déduit du contexte
← Retour à C# Academy