Press "Enter" to skip to content

Dzień: 2020-10-31

Modyfikacja stringa w c#

Tak, lubię, jak okazuje się, że można zrobić coś, czego uczymy się że nie można tego zrobić.
Na przykład tego, że „strings are immutable”, albo jak kto woli, że łańcuchy znakowe są niezmienne. To znaczy jak mamy zmianę, to tak naprawdę tworzy się dla nas pod spodem nowy string. Czy to prawda? No jeżeli zamkniemy się do bezpiecznego kodu zarządzalnego to jest prawda, jednakże ogólnie da się zmodyfikować stringa, pod warunkiem że odtańczymy taniec szamana (użyjemy wskaźników), przeskoczymy nad ogniem (czyli nasz kod będzie w sekcji unsafe) i zagrozimy śmieciarzowi by trzymał się od naszej zmiennej z daleka (więc zablokujemy „wskaźnik” na stercie).
Więc zróbmy tak, by w naszym stringu poszło oczko.