C# Academy · leksjon

Nullable i beregninger

Forstå hvordan null-verdier forplanter seg gjennom aritmetikk.

Leksjon 4 av 413 trinn

Nullable i beregninger er en gratis leksjon i C# Academy på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i C# Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i C# Academy inneholder totalt 4 leksjoner.

Løftede operatorer

C# «løfter» aritmetiske operatorer og sammenligningsoperatorer slik at de fungerer med nullable-typer. Operatorer som + får automatisk en nullable-variant.

using System;

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

Null videreføres gjennom matematikk

Hvis en operand i et løftet aritmetisk uttrykk er null, blir resultatet null.

using System;

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

Utskrift av null-resultater

Et aritmetisk resultat som er null, skrives ut som en tom streng, i samsvar med hvordan nullable-verdier vises.

using System;

class Program {
    static void Main() {
        int? a = null;
        Console.WriteLine("Result: [" + (a * 2) + "]");
    }
}

Blanding av nullable og ikke-nullable typer

Du kan blande int og int? i matematikk. int konverteres da til nullable, og resultatet blir nullable.

using System;

class Program {
    static void Main() {
        int? a = 10;
        int b = 4;
        int? result = a - b;
        Console.WriteLine(result);
    }
}

Løftede sammenligninger

Sammenligninger av nullable-verdier løftes også. Hvis en av sidene er null, returnerer ordningssammenligninger som < false.

using System;

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

Likhet med null

I motsetning til ordningssammenligninger er likhet definert: to null-verdier er like, og null er ikke lik noe tall.

using System;

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

Kombinere ?? med matematikk

Bruk ?? til å erstatte null med et trygt tall før beregningen, slik at resultatet ikke blir null.

using System;

class Program {
    static void Main() {
        int? a = null;
        int total = (a ?? 0) + 100;
        Console.WriteLine(total);
    }
}

Beskyttelse mot divisjon

Kombiner HasValue-kontroller med beregninger for å unngå både null-verdier og divisjon med null.

using System;

class Program {
    static void Main() {
        int? a = 20, b = 4;
        if (a.HasValue && b.HasValue && b.Value != 0)
            Console.WriteLine(a.Value / b.Value);
    }
}

Summere nullable data

Når du summerer data som kan inneholde null-verdier, må du avgjøre om null skal hoppes over eller behandles som null.

using System;

class Program {
    static void Main() {
        int?[] data = { 5, null, 10, null, 2 };
        int total = 0;
        foreach (var x in data)
            total += x ?? 0;
        Console.WriteLine(total);
    }
}

Nullable bool i logikk

En bool? deltar i løftet logikk: true | null er true, false & null er false, og ellers blir resultatet null.

using System;

class Program {
    static void Main() {
        bool? a = null;
        bool? b = true;
        Console.WriteLine(a | b);
    }
}

Konvertere resultatet til en vanlig verdi

Etter en nullable-beregning kan du bruke ?? eller GetValueOrDefault for å ende opp med en vanlig verdi som kan vises.

using System;

class Program {
    static void Main() {
        int? a = 6, b = 7;
        int product = (a * b) ?? 0;
        Console.WriteLine(product);
    }
}

Kunnskapssjekk

Test kunnskapene dine om nullable-aritmetikk.

Oppsummering

C# løfter aritmetiske operatorer, sammenligningsoperatorer og logiske operatorer til nullable-typer. En null-operand i aritmetikk gir et null-resultat, og ordningssammenligninger med null returnerer false, mens likhet er veldefinert.

Bruk ?? eller GetValueOrDefault til å erstatte null med trygge verdier før eller etter beregninger, og bruk HasValue som kontroll ved behov.

Gratis å komme i gang

Lær deg C# med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
93
Leksjoner
346

Ofte stilte spørsmål

Er leksjonen «Nullable i beregninger» gratis?

Ja – hele teksten i «Nullable i beregninger» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av C# Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i C# Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Nullable i beregninger»?

Forstå hvordan null-verdier forplanter seg gjennom aritmetikk. Du øver på C# Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med C# Academy?

Ingen tidligere erfaring er nødvendig. C# Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.

Hvor lang tid tar leksjonen «Nullable i beregninger»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne C# Academy-leksjonen?

Ja. Alle C# Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Introduksjon til nullable-verdityper
  2. Egenskapene HasValue og Value
  3. Null-sammenslåingsoperatorer
  4. Nullable i beregninger
← Tilbake til C# Academy