Typy wbudowane i "nie-zmienianie" ich stanu

0

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?

1

String jest obiektem niezmiennym czyli immutable.

2

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.

1 użytkowników online, w tym zalogowanych: 0, gości: 1