Oefening: letterlijke waarden afdrukken
In deze oefening drukt u berichten af met andere typen gegevens en leert u waarom gegevenstypen zo belangrijk zijn in C#.
Wat is een letterlijke waarde?
Een letterlijke waarde is een constante waarde die nooit verandert. Eerder hebt u een letterlijke tekenreeks naar de uitvoerconsole weergegeven. Met andere woorden, u hebt letterlijk die tekenreeks met alfanumerieke tekensH
, , e
l
, l
, o
enzovoort, in de uitvoerconsole weergegeven.
Gebruik het gegevenstype tekenreeks wanneer u alfanumerieke woorden, woordgroepen of gegevens voor presentatie hebt, niet voor berekeningen. Welke andere soorten letterlijke gegevens kunt u afdrukken naar uitvoer?
Oefening: verschillende letterlijke gegevenstypen afdrukken
Er zijn veel gegevenstypen in C#. Maar terwijl u aan de slag gaat, hoeft u slechts over vijf of zes gegevenstypen te weten, omdat ze de meeste scenario's behandelen. Laten we een letterlijk exemplaar van het gegevenstype weergeven dat moet worden uitgevoerd.
Notitie
Wanneer u in het codevenster gaat werken, zult u waarschijnlijk merken dat bepaalde syntaxis in verschillende kleuren wordt weergegeven om aan te geven wat bijvoorbeeld sleutelwoorden, operatoren en gegevenstypen zijn. Begin op de kleuren te letten. Hiermee kunt u syntaxisfouten herkennen terwijl u tekens invoert en kunt u de code effectiever begrijpen.
Letterlijke tekens gebruiken
Als u slechts één alfanumerieke teken op het scherm wilt afdrukken, kunt u een letterlijk teken maken door één alfanumeriek teken tussen enkele aanhalingstekens te plaatsen. De term char
is kort voor teken. In C# heet dit gegevenstype officieel 'char', maar wordt dit vaak aangeduid als een 'teken'.
Voeg de volgende regel met code toe in de code-editor:
Console.WriteLine('b');
Bekijk de code die u hebt ingevoerd.
U ziet dat de letter
b
tussen enkele aanhalingstekens'b'
staat. Enkele aanhalingstekens maken een letterlijk teken. Zoals u weet, wordt met dubbele aanhalingstekens eenstring
gegevenstype gemaakt.Druk op de groene knop Uitvoeren om uw code uit te voeren. Als het goed is, ziet u het volgende resultaat in het uitvoervenster:
b
Als u de volgende code invoert:
Console.WriteLine('Hello World!');
Dan ontvangt u de volgende foutmelding:
(1,19): error CS1012: Too many characters in character literal
Let op de enkele aanhalingstekens rondom Hello World!
. Wanneer u enkele aanhalingstekens gebruikt, verwacht de C#-compiler één teken. In dit geval is echter de letterlijke syntaxis van het teken gebruikt, maar er zijn in plaats daarvan 12 tekens opgegeven.
Net als bij het string
gegevenstype gebruikt char
u wanneer u één alfanumerieke teken hebt voor de presentatie (niet voor berekening).
Letterlijke waarden voor gehele getallen gebruiken
Als u een numerieke geheel getalwaarde (geen breuken) wilt weergeven in de uitvoerconsole, kunt u een letterlijke letterlijke waarde gebruiken. De term int
is kort voor gehele getallen, die u kunt herkennen aan het bestuderen van wiskunde. In C# heet dit gegevenstype officieel 'int', maar wordt dit vaak aangeduid als 'geheel getal'. Een int
letterlijke waarde vereist geen andere operatoren zoals de string
of char
.
Voeg de volgende regel met code toe in de code-editor:
Console.WriteLine(123);
Druk op de groene knop Uitvoeren om uw code uit te voeren. Als het goed is, ziet u het volgende resultaat in de uitvoerconsole:
123
Letterlijke drijvende komma gebruiken
Een drijvendekommagetal is een getal dat een decimaal getal bevat, bijvoorbeeld 3,14159. C# ondersteunt drie gegevenstypen om decimale getallen weer te geven: float
, double
en decimal
. Elk type ondersteunt verschillende mate van precisie.
Float Type Precision
----------------------------
float ~6-9 digits
double ~15-17 digits
decimal 28-29 digits
Hier weerspiegelt precisie het aantal cijfers voorbij het decimaalteken dat nauwkeurig is.
Voeg de volgende regel met code toe in de code-editor:
Console.WriteLine(0.25F);
Als u een
float
letterlijke waarde wilt maken, voegt u de letterF
na het getal toe. In deze context wordt deF
een achtervoegsel voor de letterlijke waarde genoemd. Het letterlijke achtervoegsel vertelt de compiler die u wilt gebruiken met een waarde van hetfloat
type. U kunt een kleine letterf
of hoofdletterF
gebruiken als het letterlijke achtervoegsel voor eenfloat
.Druk op de groene knop Uitvoeren om uw code uit te voeren. Als het goed is, ziet u het volgende resultaat in de uitvoerconsole:
0.25
U ziet dat het
float
gegevenstype het minst nauwkeurig is, dus u kunt dit gegevenstype het beste gebruiken voor vaste breukwaarden om onverwachte rekenfouten te voorkomen.Voeg de volgende regel met code toe in de code-editor:
Console.WriteLine(2.625);
Als u een
double
letterlijke waarde wilt maken, voert u een decimaal getal in. De compiler wordt standaard ingesteld op eendouble
letterlijke waarde wanneer een decimaal getal wordt ingevoerd zonder een letterlijk achtervoegsel.Druk op de groene knop Uitvoeren om uw code uit te voeren. Als het goed is, ziet u het volgende resultaat in het uitvoervenster:
2.625
Voeg de volgende regel met code toe in de code-editor:
Console.WriteLine(12.39816m);
Als u een letterlijke waarde van het gegevenstype Decimal wilt maken, voegt u aan het einde van het getal de letter
m
toe. In deze context wordt dem
een achtervoegsel voor de letterlijke waarde genoemd. Het letterlijke achtervoegsel vertelt de compiler die u wilt gebruiken met een waarde van hetdecimal
type. U kunt een kleine letterm
of hoofdletterM
gebruiken als het letterlijke achtervoegsel voor eendecimal
.Druk op de groene knop Uitvoeren om uw code uit te voeren. Als het goed is, ziet u het volgende resultaat in de uitvoerconsole:
12.39816
Booleaanse letterlijke waarden gebruiken
Als u een waarde wilt afdrukken die een waarde vertegenwoordigt true
offalse
, kunt u een letterlijke waarde voor bool gebruiken.
De term bool
is kort voor Booleaanse waarde. In C# worden ze officieel aangeduid als 'bool', maar vaak gebruiken ontwikkelaars de term 'Booleaanse waarde'.
Voeg de volgende regels met code toe in de code-editor:
Console.WriteLine(true); Console.WriteLine(false);
Druk op de groene knop Uitvoeren om uw code uit te voeren. Als het goed is, ziet u het volgende resultaat in de uitvoerconsole:
True False
De bool
letterlijke waarden vertegenwoordigen het idee van waarheid en onwaarheid. U gebruikt bool
waarden uitgebreid wanneer u beslissingslogica aan uw toepassingen gaat toevoegen. U evalueert expressies om te zien of de expressie waar of onwaar is.
Waarom worden gegevenstypen zo nadrukkelijk besproken?
Gegevenstypen spelen een centrale rol in C#. In feite is de nadruk op gegevenstypen een van de belangrijkste onderscheidende functies van C# in vergelijking met andere talen zoals JavaScript. De ontwerpers van C# waren van mening dat ze ontwikkelaars konden helpen om veelvoorkomende softwarefouten te voorkomen door gegevenstypen af te dwingen. Dit concept wordt wel duidelijker naarmate je beter bekend wordt met C#.
Gegevenstypen definiëren mogelijkheden
Eerder hebt u gezien dat string
s en char
s worden gebruikt voor 'presentatie, niet berekening'. Als u een wiskundige bewerking wilt uitvoeren met numerieke waarden, moet u een int
of decimal
gebruiken. Als u gegevens hebt die worden gebruikt voor presentatie of tekstbewerking, moet u een string
of char
meer gegevenstype gebruiken.
Stel dat u gegevens van een gebruiker moet verzamelen, zoals een telefoonnummer of postcode. Afhankelijk van het land of de regio waar u woont, kunnen die gegevens bestaan uit numerieke tekens. Omdat u echter zelden wiskundige berekeningen uitvoert met telefoonnummers en postcodes, kiest u normaal gesproken het gegevenstype string
wanneer u hiermee werkt.
Hetzelfde kan worden gezegd van bool
. Als u met de woorden "true"
en "false"
moet werken in uw toepassing, gebruikt u een string
. Als u echter met het concept true
of false
moet werken wanneer u een evaluatie uitvoert, gebruikt u een bool
.
Het is belangrijk om te weten dat deze waarden eruit kunnen zien als de equivalenten van de letterlijke waarden van het gegevenstype Tekenreeks. Met andere woorden, u kunt denken dat de volgende instructies hetzelfde zijn:
Console.WriteLine("123");
Console.WriteLine(123);
Console.WriteLine("true");
Console.WriteLine(true);
Het is echter alleen de weergegeven uitvoer die lijkt te lijken. Het soort dingen dat u kunt doen met het onderliggende int
of bool
verschilt namelijk van het equivalent ervan voor string
.
Samenvatting
Het belangrijkste voordeel is dat er veel gegevenstypen zijn, maar u richt zich momenteel op slechts een paar:
string
voor woorden, woordgroepen of alfanumerieke gegevens voor presentatie, niet voor berekeningenchar
voor één alfanumerieke tekenint
voor een geheel getaldecimal
voor een getal met een breukonderdeelbool
voor eentrue
/false
waarde