Sök…


System.String klass

I C # (och .NET) representeras en sträng av klassen System.String. Den string sökord är ett alias för den här klassen.

System.String-klassen är oföränderlig, dvs det kan inte ändras när det skapats.

Så alla operationer du utför på en sträng som Substring, Ta bort, Ersätt, sammankoppling med + operator etc skapar en ny sträng och returnerar den.

Se följande program för demonstration -

string str = "mystring";
string newString = str.Substring(3);
Console.WriteLine(newString);
Console.WriteLine(str);

Detta kommer att skriva ut string respektive mystring .

Strängar och oföränderlighet

Oändliga typer är typer som när de ändras skapar en ny version av objektet i minnet, snarare än att ändra det befintliga objektet i minnet. Det enklaste exemplet på detta är den inbyggda string .

Med följande kod läggs "världen" till ordet "Hej"

string myString = "hello";
myString += " world";

Det som händer i minnet i detta fall är att ett nytt objekt skapas när du lägger till string i den andra raden. Om du gör detta som en del av en stor slinga finns det potentialen för att detta kan orsaka prestandaproblem i din applikation.

Den muterbara motsvarigheten för en string är en StringBuilder

Tar följande kod

StringBuilder myStringBuilder = new StringBuilder("hello");
myStringBuilder.append(" world");

När du kör detta ändrar du själva StringBuilder objektet i minnet.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow