0Pricing
C# Academy · Leçon

Valeur ou référence ; littéraux ; inférence avec var ; const/readonly

Découvrez les différences entre les types valeur et les types référence, le fonctionnement des littéraux et suffixes numériques, les cas d’utilisation de var et les rôles de const et readonly.

Valeur ou référence ; littéraux ; inférence avec var ; const/readonly est une leçon C# Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 3. 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 3 leçons au total.

Pourquoi les types sont importants

Objectif : comprendre les types valeur et référence, ainsi que le comportement des variables, des littéraux et des constantes dans le code courant.

Valeur ou référence

Type valeur : copie les données lors de l'affectation, par exemple int, bool ou struct. Type référence : copie une référence, par exemple une classe, un tableau ou une chaîne.

  • Valeur : des modifications locales plus sûres
  • Référence : une identité d'objet partagée

Littéraux et suffixes

Les littéraux ont des types. Utilisez des suffixes pour plus de clarté : f (float), m (decimal), L (long).

  • 3.14f → float
  • 10m → decimal (montant monétaire)
  • 123L → long

Inférence avec var

var permet au compilateur d'inférer le type à partir de l'expression de droite. Utilisez-le lorsque le type est évident ; sinon, indiquez-le explicitement.

const ou readonly

const : constante connue à la compilation ; readonly : valeur définie dans le constructeur ou lors de la déclaration.

  • Utilisez const pour les valeurs fixes, par exemple Pi
  • Utilisez readonly pour les valeurs connues lors de l'exécution

Les types en pratique

Observez le comportement des types valeur et référence, les suffixes numériques, une inférence simple avec var et l'utilisation de const/readonly dans un petit programme.

using System;

// Value type (struct) copies by value
public struct PointS
{
  public int X;
  public int Y;
}

// Reference type (class) copies the reference
public class PointC
{
  public int X;
  public int Y;
}

// Readonly demo class
public class Config
{
  public readonly string Name;
  public Config(string name)
  {
    Name = name; // can set here
  }
}

public class Program
{
  // Compile-time constant
  private const double Pi = 3.14159;

  public static void Main(string[] args)
  {
    // 1) Value vs reference
    PointS a = new PointS { X = 1, Y = 2 };
    PointS b = a;         // copy value
    b.X = 99;
    Console.WriteLine("Value struct a.X = " + a.X); // 1 (unchanged)
    Console.WriteLine("Value struct b.X = " + b.X); // 99

    PointC ac = new PointC { X = 1, Y = 2 };
    PointC bc = ac;       // copy reference
    bc.X = 77;
    Console.WriteLine("Ref class ac.X = " + ac.X);  // 77 (same object)
    Console.WriteLine("Ref class bc.X = " + bc.X);  // 77

    // 2) Literals & suffixes
    float f = 3.14f;
    decimal price = 10m;
    long big = 123L;
    Console.WriteLine("f=" + f + " price=" + price + " big=" + big);

    // 3) var inference (type is obvious)
    var sum = a.X + a.Y; // int
    Console.WriteLine("sum=" + sum);

    // 4) const vs readonly
    Config cfg = new Config("Demo");
    Console.WriteLine("Pi=" + Pi + " Name=" + cfg.Name);
  }
}

Définition d'un type valeur

Vérification rapide : quelle proposition décrit le mieux un type valeur ?

Récapitulatif

Récapitulatif : les types valeur copient les données ; les types référence partagent des objets. Utilisez des suffixes pour les littéraux numériques, var lorsque le type est évident, et choisissez correctement entre const et readonly.

Questions Fréquemment Posées

La leçon « Valeur ou référence ; littéraux ; inférence avec var ; const/readonly » est-elle gratuite ?

Oui — le texte complet de « Valeur ou référence ; littéraux ; inférence avec var ; const/readonly » 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 3 leçons au total.

Qu'est-ce que j'apprendrai dans « Valeur ou référence ; littéraux ; inférence avec var ; const/readonly » ?

Découvrez les différences entre les types valeur et les types référence, le fonctionnement des littéraux et suffixes numériques, les cas d’utilisation de var et les rôles de const et readonly. 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 1 sur 3.

Combien de temps prend la leçon « Valeur ou référence ; littéraux ; inférence avec var ; const/readonly » ?

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. Valeur ou référence ; littéraux ; inférence avec var ; const/readonly
  2. Opérateurs et expressions : arithmétiques, comparaisons et logiques
  3. Les suffixes en pratique ; transtypage ou conversion ; création d’objets en C# 6
← Retour à C# Academy