..
Udtrykket null er et interessant koncept i verden af programmering og er ikke synonymt med 'nul' eller 'tomme' men snarere 'som udefineret'. Der er tale om nullabilità (nullability) at henvise til muligheden af en datatype til at acceptere og håndtere Null-værdier.
Hver programmør ofte under udviklingen af deres ansøgninger er at have at gøre med den såkaldte værdi datatyper (værdi typer) som int, double, bool, char, og datetime. Disse data typer er grundlæggende, men har én ting en smule akavet i nogle tilfælde, der ikke kan null.
Heldigvis, C # og NET Framework giver os et meget nyttigt værktøj:. Nullable datatyper. Disse typer af data kan bruges på ethvert punkt i koden, hvor der er behov for at have en variabel som kan have værdier, men kan også have null værdi.
Hvis koden af vores ansøgning vi skriver noget i retning af
boolTest bool = null; dataTest datetime = null;få fejl på kompilere tid. Men ofte viser behovet for at fastsætte en række, en boolsk eller en dato for at have null-værdi, og i disse tilfælde komme os til undsætning nullable datatyper. For at gøre en datatype i C # nullable alt hvad du behøver at gøre er at sætte et spørgsmålstegn (?) Ved afslutningen af hver datatype værdi.
Derfor, hvis vi omskrive de to foregående variabler på følgende måde vil vi ikke have flere fejl under kompileringen
bool? boolTest = null; datetime? dataTest = null;
Hver variabel af typen Nullable udsætter en ejendom kaldet værdi, som giver dig mulighed for at hente eller indstille værdien heraf. En anden nyttig egenskab ved disse typer af data er HasValue, som returnerer den booleske værdi SAND hvis variablen pågældende har en ikke-nul, falske andet.
Det er altid muligt at konvertere en værdi, skriver i en nullable typen
dato1 bool = true; bool? dato2 = dato1men pas på, at for at gøre den omvendte konvertering er nødvendig for at kaste nullable typen
dato1 = (bool) dato2;
Når du sætter spørgsmålet til at følge en datatype værdi, som int? Eller decimal?, Dybest set compileren oversætter det til struct Nullable Nullable <int> eller <decimal>.
For at kontrollere dette blot tilføje til vores kode for en variabel som Nullable <datetime> og sætte et breakpoint i sin korrespondance.
Kørsel af kode og observere Watch-vinduet vises som datatype System.DateTime?.
| |
Linux (Kursus)
Komplet guide til open source-system. Fra 49 €. |
| |
MySQL (Kursus)
Forvaltning af open source-database. Fra 39 €. |
| |
SQL-og Database (Kursus)
Oprette og administrere relationelle databaser. Fra 39 €. |