..


Sponsede Lenker

Bruk Nullable datatyper i C #

Artikkel skrevet av Vincent Gaglio
Side 1 av 3

Begrepet null er et interessant konsept i verden av programmering og er ikke synonymt med "null" eller "tom", men snarere "som udefinert". Det er snakk om nullabilità (nullability) å referere til muligheten for en datatype til å akseptere og håndtere nullverdier.

Hver programmerer ofte under utviklingen av deres søknader er å ha å gjøre med den såkalte verdi datatyper (verdi typer) som int, double, bool, røye og datetime. Disse datatypene er enkle, men har én ting litt vanskelig i noen tilfeller, som ikke kan bli null.

Heldigvis, C # og NET Framework gir oss et meget nyttig verktøy. Nullable datatyper. Disse typer data kan brukes på noe punkt i koden der det er behov for å ha en variabel som kan ha verdier, men kan også ha null verdi.

Hvis koden av søknaden vår vi skriver noe sånt






 boolTest bool = null;







 dataTest datetime = null;



Få feil ved kompilering. Men presenterer ofte behov for å sette et tall, en boolsk eller en dato for å ha null verdi og i disse tilfellene kommer til vår unnsetning nullable datatyper. For å gjøre en datatype i C # nullable alt du trenger å gjøre er å sette et spørsmålstegn (?) På slutten av hver datatype verdi.

Derfor, hvis vi omskrive de to foregående variablene på følgende måte vil vi ikke ha flere feil ved kompilering






 bool?

 



 boolTest = null;







 datetime?

 



 dataTest = null;



Hver variabel av typen Nullable eksponerer en eiendom som heter Value, som lar deg hente eller fastsette verdien av disse. En annen nyttig eiendom av disse typer data er HasValue, som returnerer den boolske verdien true hvis variabelen i spørsmålet har en ikke-null, falsk ellers.

Det er alltid mulig å konvertere en verdi skriv inn i en nullable typen






 dato1 bool = true;







 bool?

 



 dato2 = dato1



men pass på at for å gjøre det motsatte konverteringen er nødvendig for å kaste nullable typen
 



 dato1 = (bool) dato2;

 

Når du setter spørsmålet å følge en datatype verdi, slik som int? Eller desimal?, Utgangspunktet kompilatoren oversetter det til struct Nullable Nullable <int> eller <decimal>.
Å sjekke dette bare legge til vårt koden til en variabel som Nullable <DateTime> og sette et stoppunkt i korrespondansen hans. Kjører koden og observere Watch-vinduet skal vises som datatype System.DateTime?.

I samme kategori ...
E-læring
Flash MX (avansert) Flash MX (avansert)
Bli en designer nettsteder fra 29 €.
Webmaster Advanced (Course) Webmaster Advanced (Course)
Bli en profesjonell Webmaster. Fra € 39.
Webmaster Base (First) Webmaster Base (First)
Opprette et webområde fra scratch. Starter fra 29 €.
Sponsede Lenker