Övning – Ange och hämta värden från variabler
Eftersom variabler är tillfälliga lagringscontainrar för data är de avsedda att skrivas till och läsas från. Du får en chans att göra båda i följande övning.
Övning – Arbeta med variabler
I den här övningen deklarerar du en variabel, tilldelar den ett värde, hämtar dess värde med mera.
Skapa din första variabel
Markera all kod i .NET-redigeraren och tryck på Ta bort eller Backspace för att ta bort den.
Ange följande kod i kodredigeraren:
string firstName; firstName = "Bob";
Om du vill deklarera en variabel anger du den datatyp som du vill använda följt av ett namn på variabeln. Om du vill tilldela ett värde till en variabel använder du tilldelningsoperatorn, som är ett enda lika med tecknet =.
Anmärkning
Att tilldela ett värde kallas även "ange variabeln" eller helt enkelt en "set"-åtgärd.
Tilldela ett värde till en variabel felaktigt
Det är viktigt att observera att tilldelningen sker från höger till vänster. Med andra ord måste C#-kompilatorn först förstå värdet till höger om tilldelningsoperatorn och sedan utföra tilldelningen till variabeln till vänster om tilldelningsoperatorn. Om du ändrar ordningen förvirrar du C#-kompilatorn.
Ändra koden du skrev så att den matchar följande kod:
string firstName; "Bob" = firstName;Kör sedan koden. Följande fel visas i utdatakonsolen:
(2,1): error CS0131: The left-hand side of an assignment must be a variable, property or indexer
Tilldela variabeln felaktigt ett värde med fel datatyp
Du har lärt dig att C# har utformats för att framtvinga typer. När du arbetar med variabler innebär tvingande typer att du inte kan tilldela ett värde av en datatyp till en variabel som deklarerats innehålla en annan datatyp.
Ändra koden du skrev så att den matchar följande kod:
int firstName; firstName = "Bob";Kör sedan koden. Följande fel visas i utdatakonsolen:
(2,9): error CS0029: Cannot implicitly convert type 'string' to 'int'
Felmeddelandet antyder vad C#-kompilatorn försöker göra i bakgrunden. Den försökte "implicit konvertera" strängen "Bob" till ett int-värde. Det är dock omöjligt. Trots detta försökte C# utföra konverteringen men misslyckas eftersom det inte finns någon numerisk motsvarighet för ordet "Bob".
Du lär dig mer om implicit och explicit typkonvertering senare. Kom bara ihåg att en variabel bara kan innehålla värden som matchar den angivna datatypen.
Hämta ett värde som du har lagrat i variabeln
Om du vill hämta ett värde från en variabel använder du bara namnet på variabeln. Det här exemplet anger värdet för en variabel och hämtar sedan värdet och visar det i konsolen.
Ändra koden du skrev så att den matchar följande kod:
string firstName; firstName = "Bob"; Console.WriteLine(firstName);Kör sedan koden. Du bör se följande utdata i konsolen:
Bob
Att hämta ett värde från en variabel kallas även "hämta variabeln" eller helt enkelt en "get"-åtgärd.
När du skriver kodrader ser du att kompilatorn kontrollerar din kod och upptäcker möjliga misstag. Kompilatorn är ett bra verktyg som hjälper dig att få koden korrekt tidigare. Nu när du är bekant med olika typer av fel kan du snabbt åtgärda misstag med hjälp av kompilatorns felmeddelanden.
Tilldela variabeln ett nytt värde
Du kan återanvända och omtilldela variabeln så många gånger du vill. Det här exemplet illustrerar den idén.
Ändra koden du skrev så att den matchar följande kod:
string firstName; firstName = "Bob"; Console.WriteLine(firstName); firstName = "Liem"; Console.WriteLine(firstName); firstName = "Isabella"; Console.WriteLine(firstName); firstName = "Yasmin"; Console.WriteLine(firstName);Kör sedan koden. Du bör se följande utdata i konsolen:
Bob Liem Isabella Yasmin
Initiera variabeln
Du måste ange en variabel till ett värde innan du kan hämta värdet från variabeln. Annars visas ett fel.
Ändra koden du skrev så att den matchar följande kod:
string firstName; Console.WriteLine(firstName);Kör sedan koden. Du bör se följande utdata i konsolen:
(2,19): error CS0165: Use of unassigned local variable 'firstName'
För att undvika risken för en otilldelade lokal variabel rekommenderar vi att du anger värdet så snart som möjligt när du har deklarerat det.
I själva verket kan du utföra både deklarationen och ange värdet för variabeln på en kodrad. Den här tekniken kallas initialisera variabeln.
Ändra koden du skrev så att den matchar följande kod:
string firstName = "Bob"; Console.WriteLine(firstName);Kör sedan koden. Du bör se följande utdata:
Bob
Sammanfattning
Här är vad du har lärt dig om att arbeta med variabler hittills:
- Du måste tilldela (ange) ett värde till en variabel innan du kan hämta (hämta) ett värde från en variabel.
 - Du kan initiera en variabel genom att tilldela ett värde till variabeln vid deklarationspunkten.
 - Tilldelning sker från höger till vänster.
 - Du använder ett enda likhetstecken som tilldelningsoperator.
 - Om du vill hämta värdet från variabeln använder du bara variabelns namn.