Genom att skriva // framför något så gör man så det inte tolkas som kod utan som en kommentar.
// Det här är en kommentar.// Console.WriteLine("Det här är också en kommentar; en kod som inte körs");
Variabler
Variabler lagrar information – allt man vill kunna komma ihåg i programmet lagras i variabler.
Varje variabel har en datatyp. När man skapar en variabel så anger man vilken sorts information som ska lagras i den.
// int är datatypen, hp namnet på variabelnint hp =100; // int = heltalstring name ="Micke"; // string = textfloat money =4.5f// float = decimaltal
Man kan ändra på en variabels värde i efterhand. = funkar alltid, så länge variabeln är på vänster sida och det du vill ändra dess värde till är på höger.
name ="Martin"; // Ändra name till 'Martin'hp = hp +10; // Öka hp med 10hp +=5; // Öka hp med 5hp++// Öka hp med 1hp--// Minska hp med 1
If gör att man kan ha kod som bara görs om ett villkor stämmer (är true).
string name =Console.ReadLine();if (name =="Micke"){Console.WriteLine("Välkommen!");}
I exemplet nedan används också else if och else för att skapa en kedja.
string name =Console.ReadLine();if (name =="Micke") // Först kollas name mot 'Micke'{Console.WriteLine("Välkommen!");}elseif (name =="Martin") // Om det inte är 'Micke' kollas namn mot 'Martin'{Console.WriteLine("Hej!");}else// och om det varken är 'Micke' eller 'Martin' körs den här koden{Console.WriteLine("Dig känner jag inte, hejdå!");}
// randomNumber blir ett tal som kan vara minst 0, max 99int randomNumber =Random.Shared.Next(100);int otherNumber =Random.Shared.Next(4,7); // Talet kan vara minst 4, max 7
while (true) // Loop som körs för evigt{string password =Console.ReadLine();if (password =="12345") {break; // Avbryter loopen }}
En while-loop funkar exakt som en if-sats, utom att när koden som står under den är klar, så gör den jämförelsen igen – och om den fortfarande är true så kör den en gång till.
string name =Console.ReadLine();while (name !="Micke"){ name =Console.ReadLine()}
Observera att exemplet ovan kan användas för alla möjliga jämförelser – så fort du vill begränsa användarens input, göra så att hen inte får gå vidare förrän hen skrivit in något som är "rätt sorts input", så kan du använda en while.
En sorts loop som är väldigt bra när man vill köra en loop ett specifikt antal gånger. For-loopar funkar egentligen som while-loopar, men inkluderar en räknare.
// Räknaren heter i, börjar på 0 och ökar med 1 varje gång loopen körts.for (int i =0; i <10; i++) { // Det som står här inne kommer köras 10 gånger // Första gången loopen körs, har i värde 0 // Andra gången har i värde 1 // Tredje gången har i värde 2...}
Man kan läsa av och ändra på vad som finns på platser i en lista genom indexering. Varje plats i listan är numrerad från 0 och uppåt.
List<string> names = ["Micke","Martin"];Console.WriteLine(names[1]); // Skriver ut 'Martin'names[0] ="Mohammad"; // Byter ut 'Micke' mot 'Mohammad'
Man kan också kolla hur lång en lista är med Count, lägga till saker med Add och ta bort med Remove eller RemoveAt.
List<string> names = ["Micke","Martin"];Console.WriteLine(names.Count); // Skriver ut '2'names.Add("Jenny"); // Lägg till Jenny, som får index 2names.Remove("Martin"); // Ta bort Martin, så att Jenny får index 1names.RemoveAt(0); // Ta bort namnet med index 0if (names.Contains("Jenny")) // Kolla om Jenny finns i listan{Console.WriteLine("Jenny är med!");}
Med en foreach-loop kan man gå igenom listan och läsa av varje sak i den i tur och ordning.
foreach (string name in names) // Loopa igenom listan{Console.WriteLine(name);}
En metod är en bit återanvändbar kod, som kan anropas från andra delar av koden. Metoder som är statiska är helt separata från resten av koden – de kan inte komma åt variabler som inte är deras egna. Metoder är överlag lite som Las Vegas: Det som händer i metoden stannar i metoden. Om man inte specifikt säger något annat.
För att få in data i en metod används parametrar. Det gör man generellt när man vill att en och samma metod ska kunna göra delvis olika saker beroende på vilken data den ges.
staticvoidCountDownFrom(int startValue){for (int i=startValue; i>0; i--) {Console.WriteLine(i +"..."); }}CountDownFrom(100); // 100 stoppas in i parametervariabeln startValueCountDownFrom(10);
Returnering
Om man vill ta med sig något från inifrån en metod så använder man return.
// 'string' betyder att vi lovar att metoden returnerar en string// ↓staticstringGetName() {string name ="";while (name.Length==0) {Console.WriteLine("Vad heter du?"); name =Console.ReadLine(); }return name; // 'return' avslutar metoden och skickar tillbaka innehållet i 'name'}string heroName =GetName();string enemyName =GetName();