C# Academy · Leçon

Présentation des types de valeurs nullables

Déclarez int?, double? et comprenez Nullable .

Leçon 1 sur 413 étapes

Présentation des types de valeurs nullables est une leçon C# Academy gratuite sur CoddyKit. Ceci est la leçon 1 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.

Les types valeur ne peuvent pas être nuls

Normalement, un int contient toujours un nombre ; il ne peut jamais être null. Vous devez parfois représenter une « absence de valeur », par exemple lorsqu’une mesure manque.

using System;

class Program {
    static void Main() {
        int count = 0;
        Console.WriteLine(count);
    }
}

Types valeur acceptant null avec ?

Ajoutez ? après un type valeur pour le rendre nullable. int? peut contenir n’importe quel int ou null.

using System;

class Program {
    static void Main() {
        int? maybe = null;
        Console.WriteLine(maybe.HasValue);
        maybe = 42;
        Console.WriteLine(maybe);
    }
}

Autres types acceptant null

N’importe quel type valeur peut être nullable : double?, bool?, DateTime?, et ainsi de suite.

using System;

class Program {
    static void Main() {
        double? temp = null;
        bool? flag = true;
        Console.WriteLine(temp.HasValue + " " + flag);
    }
}

Nullable<T> écrit en toutes lettres

int? est simplement une forme abrégée de la structure Nullable<int>. Les deux se compilent exactement vers le même type.

using System;

class Program {
    static void Main() {
        Nullable<int> a = 10;
        int? b = 10;
        Console.WriteLine(a == b);
    }
}

Affecter null

Vous pouvez affecter librement null à une variable nullable, puis lui affecter de nouveau une valeur non nulle.

using System;

class Program {
    static void Main() {
        int? id = 100;
        Console.WriteLine(id);
        id = null;
        Console.WriteLine(id.HasValue);
    }
}

Afficher une valeur nullable nulle

Afficher une valeur nullable qui vaut null produit une chaîne vide, et non le mot « nul ».

using System;

class Program {
    static void Main() {
        int? value = null;
        Console.WriteLine("[" + value + "]");
    }
}

Conversion implicite vers un type nullable

Un int ordinaire est automatiquement converti en int?, car tout int est un int nullable valide.

using System;

class Program {
    static void Main() {
        int x = 7;
        int? y = x;
        Console.WriteLine(y);
    }
}

Type nullable dans les valeurs de retour des méthodes

Une méthode peut retourner un type nullable pour signaler qu’une valeur a été trouvée ou qu’aucune valeur n’a été trouvée.

using System;

class Program {
    static int? FindEven(int[] nums) {
        foreach (int n in nums)
            if (n % 2 == 0) return n;
        return null;
    }
    static void Main() {
        Console.WriteLine(FindEven(new[] {1, 3, 4}));
    }
}

Comparer des valeurs nullables

L’égalité fonctionne comme prévu : deux valeurs nullables sont égales si elles sont toutes deux nulles ou si elles contiennent la même valeur.

using System;

class Program {
    static void Main() {
        int? a = null;
        int? b = null;
        Console.WriteLine(a == b);
        int? c = 5;
        Console.WriteLine(c == 5);
    }
}

Pourquoi utiliser des types nullables

Les types valeur nullables représentent proprement les données facultatives, par exemple une colonne de base de données qui autorise NULL ou un champ laissé vide par l’utilisateur.

using System;

class Program {
    static void Main() {
        int? userAge = null;
        string msg = userAge.HasValue ? "Age set" : "Age unknown";
        Console.WriteLine(msg);
    }
}

Nullable est une structure

Nullable<T> est lui-même un type valeur ; une variable nullable n’est donc jamais une référence, même si elle peut être nulle.

using System;

class Program {
    static void Main() {
        int? n = 3;
        Console.WriteLine(n.GetType().Name);
    }
}

Vérification rapide

Vérifiez votre compréhension des types valeur nullables.

Récapitulatif

Par défaut, les types valeur comme int ne peuvent pas être nuls. L’ajout de ? crée un type nullable (int?), qui est une forme abrégée de Nullable<T>.

Les types nullables permettent de représenter des données manquantes ou facultatives, se convertissent implicitement depuis le type sous-jacent et sont eux-mêmes des structures.

Gratuit pour commencer

Apprends C# avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
93
Leçons
346

Questions Fréquemment Posées

La leçon « Présentation des types de valeurs nullables » est-elle gratuite ?

Oui — le texte complet de « Présentation des types de valeurs nullables » 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 « Présentation des types de valeurs nullables » ?

Déclarez int?, double? et comprenez Nullable . 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 4.

Combien de temps prend la leçon « Présentation des types de valeurs nullables » ?

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. Présentation des types de valeurs nullables
  2. Propriétés HasValue et Value
  3. Opérateurs de coalescence des valeurs nulles
  4. Valeurs nullables dans les calculs
← Retour à C# Academy