string txt = zwyklyTekst.Text;
int a = txt[0]+1;
jak to zrobić w odwrotną stronę? czyli do txt[0] przypisać jakąś wartość liczbową która będzie odpowiadać za wyświetlenie odpowiedniego znaku?
string txt = zwyklyTekst.Text;
int a = txt[0]+1;
jak to zrobić w odwrotną stronę? czyli do txt[0] przypisać jakąś wartość liczbową która będzie odpowiadać za wyświetlenie odpowiedniego znaku?
W prosty sposób się nie da, co wynika z faktu że łańcuchy w C# są niemutowalne - jeśli bardzo czegoś takiego potrzebujesz, spróbuj
string text = "ala ma kota";
char[] chars = text.ToCharArray();
chars[1] = 'g';
text = new string(chars);
Console.Write(text);
ALBO (jeśli planujesz więcej operować na tekście) użyć klasy do tego przeznaczonej, czyli StringBuilder - to chyba lepszy sposób.
string text = "ala ma kota";
StringBuilder b = new StringBuilder(text);
b[1] = 'g';
text = b.ToString();
Console.Write(text);
ok ale chodziło mi o to żeby np. w b[1] podać wartość liczbową 97 co odpowiada literce "a", następnie dodać do b[1] + 1 = 98 co daje literkę "b", itd. Znam to z C++, czy da się to robić w C#?
Po zrobieniu powyższego nie ma z tym żadnego problemu. Swoją drogą w C++ nie ma typu takiego jak char w c#, odpowiednik c++-owego char to w C# byte.
Po prostu w momencie gdzie chcesz użyć chara, zamiast pisać, powiedzmy, '#', piszesz (char)35.
( czyli nie b[1] = 'g' tylko b[1] = (char)57 )
da się, trzeba tylko jawnie rzutować, np.
byte b=1;
char c='a';
b=(byte)c;
c=(char)b;
ale tak się nie powinno robić… niech char zostanie charem.
Za to możesz go inkrementować
char ch='a';
ch++; /* ch='b' */
ch+='\x2'; /* ch='d' */