Manipulere strenge

Fuldført

Tip

Se fanen Tekst og billeder for flere detaljer!

Tekst er en af de mest almindelige typer data i programmering. I C#repræsenteres tekst som en streng – en sekvens af tegn omsluttet af dobbelte anførselstegn. C# indeholder mange indbyggede måder at manipulere og formatere strenge på.

Sammenkædning (sammenføjning af strenge)

Du kan joinforbinde to eller flere strenge til en enkelt streng ved hjælp af operatoren + :

string first = "Hello";
string last = "world";
string message = first + ", " + last + "!";
Console.WriteLine(message);

Udgang:

Hello, world!

Selvom sammenkædning fungerer fint til enkle kombinationer, kan det blive rodet, når du forsøger at blande variabler, tegnsætning og mellemrum sammen.

En bedre måde: Strenginterpolering

En renere, moderne måde at kombinere strenge og variabler på er med strenginterpolering. Hvis du vil oprette denne type streng, skal du placere et dollartegn ($) direkte før dit startcitat og placere eventuelle variabelnavne i krøllede klammeparenteser {}:

string name = "Alex";
Console.WriteLine($"Hello, {name}!");

Udgang:

Hello, Alex!

Du kan selv prøve at køre denne kode i C#-kodeeditoren.

En renere måde at kombinere input og output på

Strenginterpolering løser det problem, vi så tidligere med Console.ReadLine(). Nu kan du nemt blande tekst og variabler:

string name = Console.ReadLine();
Console.WriteLine($"Hello, {name}! Nice to meet you.");

Dette er meget renere end sammenkædning med +.

Note

Hvis du glemmer præfikset $ (f.eks. Console.WriteLine("Hello, {name}")), ser C# ikke ud i klammeparenteserne – det udskrives {name} bogstaveligt talt på skærmen.

Almindelige strengmetoder

C#-strenge har mange indbyggede metoder til almindelige handlinger. Hvis du vil bruge en metode, skal du skrive variabelnavnet, en prik og metodenavnet efterfulgt af parenteser:

Metode Hvad den gør Eksempel Resultat
.ToUpper() Konverterer tekst til store bogstaver "hello".ToUpper() "HELLO"
.ToLower() Konverterer tekst til små bogstaver "HELLO".ToLower() "hello"
.Replace(old, new) Ombytter bestemte tegn "cat".Replace("c", "b") "bat"
.Length Returnerer antallet af tegn "Alex".Length 4

Praktisk eksempel

Her kan du se, hvordan du kan bruge disse teknikker sammen:

Console.Write("What's your name? ");
string name = Console.ReadLine();
string greeting = $"Welcome, {name.ToUpper()}!";
Console.WriteLine(greeting);

Hvis brugeren skriver alex, er outputtet:

What's your name? alex
Welcome, ALEX!

Bemærk, hvordan .ToUpper() konverterede brugerens input til store bogstaver, og strenginterpolering gjorde det nemt at kombinere alt sammen.