Siemaneczko!
Mam taki kod
string a = "Jakis tekst";
a.ToUpper();
Console.WriteLine(a);
Jak nazywa się ta "właściwość" języka, że druga linijka (a.ToUpper()) nie zmienia stanu zmiennej 'a' tylko zwraca zmieniony string?
Siemaneczko!
Mam taki kod
string a = "Jakis tekst";
a.ToUpper();
Console.WriteLine(a);
Jak nazywa się ta "właściwość" języka, że druga linijka (a.ToUpper()) nie zmienia stanu zmiennej 'a' tylko zwraca zmieniony string?
String jest obiektem niezmiennym czyli immutable.
Metoda ToUpper()
nie ma skutków ubocznych (side effects), jest czysta (pure). String faktycznie jest niezmienny, ale czyste metody można pisać dla dowolnych obiektów — tyle że te niezmienne mogą mieć tylko takie.