C# Language                
            Oföränderlighet
        
        
            
    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.