Övning – Skriva ut literalvärden
I den här övningen skriver du ut meddelanden som innehåller andra typer av data och lär dig varför datatyper är så viktiga i C#.
Vad är ett literalvärde?
Ett literalvärde är ett konstant värde som aldrig ändras. Tidigare visade du en literalsträng i utdatakonsolen. Med andra ord ville du bokstavligen att strängen med alfanumeriska tecken H, , e, ll, och oså vidare skulle visas i utdatakonsolen.
Använd strängdatatypen när du har alfanumeriska ord, fraser eller data för presentation, inte beräkning. Vilka andra typer av literaldata kan du skriva ut till utdata?
Övning – Skriva ut olika typer av literaldata
Det finns många datatyper i C#. Men när du kommer igång behöver du bara veta om fem eller sex datatyper eftersom de täcker de flesta scenarier. Nu ska vi visa en specifik instans av en datatyp som utdata.
Anmärkning
Du kanske märker när du börjar arbeta i kodfönstret att den färgar viss syntax i olika färger för att ange nyckelord, operatorer, datatyper med mera. Börja lägga märke till färgerna. Det kan hjälpa dig att upptäcka syntaxfel när du anger tecken och kan hjälpa dig att förstå koden mer effektivt.
Använd teckenliteraler
Om du bara vill att ett enda alfanumeriskt tecken ska skrivas ut på skärmen kan du skapa en teckenliteral genom att omge ett alfanumeriskt tecken med enkla citattecken. Termen char är kort för tecken. I C# heter den här datatypen officiellt "char", men kallas ofta för ett "tecken".
Lägg till följande kodrad i kodredigeraren:
Console.WriteLine('b');Observera den kod som du angav.
Observera att bokstaven
bär omgiven av enkla citattecken'b'. Enkla citattecken skapar en teckenbokstav. Kom ihåg att om du använder dubbla citattecken skapas enstringdatatyp.Tryck på den gröna knappen Kör för att köra koden. Du bör se följande resultat i utdatafönstret:
b
Om du anger följande kod:
Console.WriteLine('Hello World!');
Du skulle få följande fel:
(1,19): error CS1012: Too many characters in character literal
Observera de enkla citattecken som omger Hello World!. När du använder enkla citattecken förväntar sig C#-kompilatorn ett enda tecken. I det här fallet användes dock teckenliteralsyntaxen, men 12 tecken angavs i stället!
Precis som string datatypen använder char du när du har ett enda alfanumeriskt tecken för presentation (inte beräkning).
Använd heltalsliteraler
Om du vill visa ett numeriskt heltalsvärde (inga bråktal) i utdatakonsolen kan du använda en int-literal. Termen int är kort för heltal, som du kanske känner igen från att studera matematik. I C# heter den här datatypen officiellt "int", men kallas ofta för "heltal". En int literal kräver inga andra operatorer som string eller char.
Lägg till följande kodrad i kodredigeraren:
Console.WriteLine(123);Tryck på den gröna knappen Kör för att köra koden. Du bör se följande resultat i utdatakonsolen:
123
Använd flyttalsliteraler
Ett flyttalsnummer är ett tal som innehåller ett decimaltal, till exempel 3,14159. C# stöder tre datatyper för att representera decimaltal: float, doubleoch decimal. Varje typ har stöd för varierande precisionsgrader.
Float Type Precision
----------------------------
float ~6-9 digits
double ~15-17 digits
decimal 28-29 digits
Här återspeglar precision antalet siffror som passerat decimaltecknet som är korrekta.
Lägg till följande kodrad i kodredigeraren:
Console.WriteLine(0.25F);Om du vill skapa en
floatliteral lägger du till bokstavenFefter talet. I det här sammanhangetFkallas den för ett literalsuffix. Suffixet literal anger för kompilatorn att du vill arbeta med ett värde avfloattypen. Du kan använda antingen gemenerfeller versalerFsom literalsuffix för enfloat.Tryck på den gröna knappen Kör för att köra koden. Du bör se följande resultat i utdatakonsolen:
0.25Observera att
floatdatatypen är minst exakt, så det är bäst att använda den här datatypen för fasta bråkvärden för att undvika oväntade beräkningsfel.Lägg till följande kodrad i kodredigeraren:
Console.WriteLine(2.625);Om du vill skapa en
doubleliteral anger du bara ett decimaltal. Kompilatorn använder som standard endoubleliteral när ett decimaltal anges utan ett literalsuffix.Tryck på den gröna knappen Kör för att köra koden. Du bör se följande resultat i utdatafönstret:
2.625Lägg till följande kodrad i kodredigeraren:
Console.WriteLine(12.39816m);Om du vill skapa en decimalliteral lägger du till bokstaven
mefter talet. I det här sammanhangetmkallas den för ett literalsuffix. Suffixet literal anger för kompilatorn att du vill arbeta med ett värde avdecimaltypen. Du kan använda antingen gemenermeller versalerMsom literalsuffix för endecimal.Tryck på den gröna knappen Kör för att köra koden. Du bör se följande resultat i utdatakonsolen:
12.39816
Använda booleska literaler
Om du vill skriva ut ett värde som representerar antingen true eller falsekan du använda en boolliteral.
Termen bool är kort för boolesk. I C# kallas de officiellt "bool", men ofta använder utvecklare termen "boolesk".
Lägg till följande kodrader i kodredigeraren:
Console.WriteLine(true); Console.WriteLine(false);Tryck på den gröna knappen Kör för att köra koden. Du bör se följande resultat i utdatakonsolen:
True False
Literalerna bool representerar idén om sanning och lögn. Du använder bool värden i stor utsträckning när du börjar lägga till beslutslogik i dina program. Du utvärderar uttryck för att se om uttrycket är sant eller falskt.
Varför betona datatyper?
Datatyper spelar en central roll i C#. I själva verket är betoningen på datatyper en av de viktigaste särskiljande funktionerna i C# jämfört med andra språk som JavaScript. C#-designers trodde att de kan hjälpa utvecklare att undvika vanliga programbuggar genom att framtvinga datatyper. Du kommer att se det här konceptet utvecklas när du lär dig mer om C#.
Datatyper definierar funktioner
Tidigare såg du att strings och chars används för "presentation, inte beräkning". Om du behöver utföra en matematisk åtgärd på numeriska värden bör du använda en int eller decimal. Om du har data som används för presentation eller textmanipulering bör du använda en string datatyp eller char datatyp.
Anta att du behövde samla in data från en användare, till exempel ett telefonnummer eller postnummer. Beroende på land/region där du bor kan dessa data bestå av numeriska tecken. Men eftersom du sällan utför matematiska beräkningar på telefonnummer och postnummer bör du föredra att använda en string datatyp när du arbetar med dem.
Detsamma kan sägas om bool. Om du behöver arbeta med orden "true" och "false" i ditt program använder du en string. Men om du behöver arbeta med begreppet true eller false när du utför en utvärdering använder du en bool.
Det är viktigt att känna till att dessa värden kan se ut som deras strängliterala motsvarigheter. Med andra ord kan du tro att dessa påståenden är desamma:
Console.WriteLine("123");
Console.WriteLine(123);
Console.WriteLine("true");
Console.WriteLine(true);
Det är dock bara de utdata som visas som verkar vara liknande. Faktum är att de typer av saker du kan göra med den underliggande int eller bool kommer att skilja sig från deras string motsvarighet.
Sammanfattning
Det viktigaste är att det finns många datatyper, men du fokuserar bara på några få för tillfället:
-
stringför ord, fraser eller alfanumeriska data för presentation, inte beräkning -
charför ett enda alfanumeriskt tecken -
intför ett heltal -
decimalför ett tal med en bråkkomponent -
boolför etttrue/falsevärde