Nullable i beregninger
Forstå hvordan null-verdier forplanter seg gjennom aritmetikk.
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.
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
- Introduksjon til nullable-verdityper
- Egenskapene HasValue og Value
- Null-sammenslåingsoperatorer
- Nullable i beregninger