Acceptér brugerinput
Tip
Se fanen Tekst og billeder for flere detaljer!
Programmer bliver virkelig effektive, når de kan interagere med de personer, der bruger dem. Med C#'s Console.ReadLine() metode kan du sætte dit program på pause, vente på, at brugeren skriver noget, og hente disse oplysninger.
Brug af Console.ReadLine()
Tænk på Console.ReadLine() metoden som en spørgsmålsprompt. Når programmet rammer denne linje, venter det, indtil brugeren skriver sit svar og trykker på enter-tasten, før der fortsættes.
Hvis du vil gemme brugerens svar, skal du "fange" det ved hjælp af en variabel:
string favoriteColor = Console.ReadLine();
Console.WriteLine("Oh, I love " + favoriteColor + " too!");
I denne kode favoriteColor er en variabel (en objektbeholder, der indeholder en værdi). Når du kører dette program, venter det på input. Hvis brugeren skriver Orange og trykker på Enter, er outputtet:
Orange
Oh, I love Orange too!
Du kan selv prøve at køre denne kode i C#-kodeeditoren.
Tilføj et mellemrum i slutningen af prompten
Hvis du vil gøre brugerinput mere læsevenligt, skal du kombinere Console.Write() med Console.ReadLine():
Console.Write("What is your favorite color? ");
string favoriteColor = Console.ReadLine();
Console.WriteLine("Oh, I love " + favoriteColor + " too!");
Bemærk mellemrumstasten i slutningen af prompten: "What is your favorite color? ". Uden det vil brugerens input se fastklæbet til din tekst: What is your favorite color?Orange. Tilføjelse af et mellemrum gør det tydeligere.
Om datatyper
Alle værdier i C# har en datatype, som fortæller computeren, hvilken type værdi den er. Nogle almindelige datatyper er:
-
Streng (
string): Tekst ombrudt i anførselstegn, f.eks"Blue". eller"25". Selv et tal bliver tekst, når det er i anførselstegn. -
Heltal (
int): Et heltal uden anførselstegn, f.eks25. eller100. Du kan lave matematik med disse.
Hvorfor er det vigtigt? C# behandler disse typer forskelligt. Du kan tilføje tal sammen (25 + 1 er lig 26med ), men du kan ikke føje et tal direkte til tekst uden særlig håndtering.
Console.ReadLine() returnerer altid en streng
En vigtig regel at huske er, at Console.ReadLine()altid returnerer tekst (en streng), selvom brugeren skriver et tal. Eksempel:
string age = Console.ReadLine();
Console.WriteLine(age + 1); // This causes an error!
Hvis du kører denne kode og skriver 25, udskrives 26programmet ikke . I stedet forsøger den at føje 1 til teksten "25", som C# ikke tillader. Dette er en almindelig begynderfejl!
Hvis du vil foretage matematik med brugerinput, skal du først konvertere teksten til et tal – men det dækker vi senere. Husk lige nu: Uanset hvad brugeren skriver, behandles det altid som tekst.