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 wilde letterlijk die reeks alfanumerieke tekens H
, e
, l
, l
, o
enzovoort, weergegeven in de uitvoerconsole.
Gebruik het gegevenstype tekenreeks wanneer u alfanumerieke woorden, woordgroepen of gegevens voor presentatie hebt, niet voor berekeningen. Welke andere soorten letterlijke gegevens kunt u weergeven in de 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.
Opmerking
Wellicht merkt u, wanneer u in het codevenster begint te werken, dat bepaalde syntaxis in verschillende kleuren wordt weergegeven om trefwoorden, operators, gegevenstypen en meer aan te geven. Let op de kleuren. 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 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. U zou het volgende resultaat in het uitvoervenster moeten zien:
b
Als u de volgende code invoert:
Console.WriteLine('Hello World!');
U krijgt de volgende fout:
(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 numeriek geheel getal (geen breuken) wilt weergeven in de uitvoerconsole, kunt u een int-letterlijke 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
literal vereist geen andere operatoren zoals string
of char
.
Voeg de volgende regel code toe in de code-editor:
Console.WriteLine(123);
Druk op de groene knop Uitvoeren om uw code uit te voeren. U zou het volgende resultaat in de uitvoerconsole moeten zien.
123
Letterlijke drijvende komma gebruiken
Een drijvendekommagetal is een getal dat een decimaal, bijvoorbeeld 3,14159, bevat. 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 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 hetF
een letterlijk achtervoegsel genoemd. Het letterlijke achtervoegsel geeft aan dat u wilt werken 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. U zou het volgende resultaat in de uitvoerconsole moeten zien:
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 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. U zou het volgende resultaat moeten zien in het uitvoervenster.
2.625
Voeg de volgende regel code toe in de code-editor:
Console.WriteLine(12.39816m);
Als u een letterlijke decimale waarde wilt maken, voegt u de letter
m
na het getal toe. In deze context wordt hetm
een letterlijk achtervoegsel genoemd. Het letterlijke suffix geeft de compiler aan dat u met een waarde van hetdecimal
type wilt werken. 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
of false
, 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 code toe in de code-editor:
Console.WriteLine(true); Console.WriteLine(false);
Druk op de groene knop Uitvoeren om uw code uit te voeren. U zou het volgende resultaat in de uitvoerconsole moeten zien:
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 zou u de nadruk leggen op gegevenstypen?
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# geloofden dat ze ontwikkelaars kunnen helpen veelvoorkomende softwarefouten te voorkomen door gegevenstypen af te dwingen . U ziet dat dit concept zich ontvouwt terwijl u meer leert over 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 op numerieke waarden, moet u een int
of decimal
. 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 op telefoonnummers en postcodes, moet u liever een string
gegevenstype gebruiken wanneer u ermee werkt.
Hetzelfde kan worden gezegd van bool
. Als u met de woorden "true"
en "false"
in uw toepassing moet werken, gebruikt u een string
. Als u echter moet werken met het concept van true
of false
bij het uitvoeren van een evaluatie, gebruikt u een bool
.
Het is belangrijk te weten dat deze waarden kunnen lijken op hun letterlijke tekenreeks-equivalenten. Met andere woorden, u kunt denken dat deze 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 feit is dat de dingen die u met de onderliggende int
of bool
kunt doen anders zullen zijn dan hun string
equivalent.
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 berekeningen -
char
voor één alfanumerieke teken -
int
voor een geheel getal -
decimal
voor een getal met een fractiegedeelte -
bool
voor eentrue
/false
waarde