Pytanie dlaczego bawisz się unsafe code
kiedy masz dostępne gotowe klasy string
i char
w .Net'cie?
char *phrase
jest wskaźnikiem na stałą tekstową, a konkretnie na jej początek. Jak najbardziej.
Absolutnie nie musisz korzystać z rozwiązań, które chcesz tutaj zastosować, no chyba, że masz jakąś bibliotekę, która dostarcza Ci dane właśnie w ten sposób.
Nie korzystaj z unsafe code
jeżeli naprawdę, ale to naprawdę nie musisz, ponieważ w C# masz Garbage Collector
, który zarządza pamięcią za Ciebie. To nie C/C++ :)
Poza tym .NET koduje stringa domyślnie w UTF-16
więc z definicji każdy string to Unicode
. Świadczą o tym choćby widoczne polskie ogonki w programach konsolowych.