Heim >Backend-Entwicklung >C++ >Was bedeutet das Fragezeichen in C# -Wertzahltypen (z. B. `int?`)?

Was bedeutet das Fragezeichen in C# -Wertzahltypen (z. B. `int?`)?

Barbara Streisand
Barbara StreisandOriginal
2025-01-26 08:51:10745Durchsuche

What Does the Question Mark Mean in C# Value Types (e.g., `int?`)?

c# Werttyp Frage: Verstehen Sie den leeren Typ

Fragezeichen "?" Es erscheint jedoch auch im Werttyp, z. B.

. Welche Rolle spielt dieses Fragezeichen in diesem Fall? public int? myProperty

kann den Typ

leeren können Das Fragezeichen hinter dem Werttyp zeigt an, dass es sich um einen leeren Typ handelt. Der leere Typ ist ein besonderes Beispiel für die -Struktur, die den gesamten effektiven Bereich des zugrunde liegenden Typs und eine spezielle freie Stelle berücksichtigen kann.

Diese Funktion ist besonders nützlich, wenn Datenbankszenarien oder andere Elemente verarbeitet werden, denen absichtlich Wert fehlt. Beispielsweise kann eine Datenbankliste, die den Booleschen Werten ermöglicht, true, false oder null enthalten. System.Nullable

Beispielcode

Betrachten Sie das folgende Codefragment:

Hier werden Variablen als Luftgülle (

) definiert, die einen Ganzzahl- oder Nullwert speichern kann.

Mit dem Attribut können wir überprüfen, ob die Variable effektive Werte enthält. Wenn wahr ist, können wir
<code class="language-csharp">class NullableExample
{
    static void Main()
    {
        int? num = null;

        // 判断 HasValue 是否为 true
        if (num.HasValue)
        {
            System.Console.WriteLine("num = " + num.Value);
        }
        else
        {
            System.Console.WriteLine("num = Null");
        }

        // 如果 num 为 null,则赋值默认值 0
        int y = num.GetValueOrDefault();

        // 如果 num.HasValue 为 false,则抛出 InvalidOperationException
        try
        {
            y = num.Value;
        }
        catch (System.InvalidOperationException e)
        {
            System.Console.WriteLine(e.Message);
        }
    }
}</code>
verwenden, um den tatsächlichen Wert zu erhalten. Andernfalls wird als null angesehen.

Das obige ist der detaillierte Inhalt vonWas bedeutet das Fragezeichen in C# -Wertzahltypen (z. B. `int?`)?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn