Więc mam char w C#:C# char do int
char foo = '2';
teraz chcę, aby uzyskać 2 do wew. Uważam, że Convert.ToInt32 zwraca aktualną wartość dziesiętną char a nie numer 2. Następujące będzie działać:
int bar = Convert.ToInt32(new string(foo, 1));
int.Parse działa tylko na łańcuchach, jak również.
Czy nie ma natywnej funkcji w języku C#, aby przejść z char do int bez dokonywania ciąg znaków? Wiem, że to jest trywialne, ale wydaje się dziwne, że nie ma nic rodzimego do bezpośredniego nawrócenia.
ahh! więc jest coś rodzimego! Dziwne, że zwraca podwójną. Ta odpowiedź jest lepsza. Dziękuję za wskazanie. – KeithA
@KeithA: Jest powód, dla którego powraca on podwójnie: 'char.GetNumericValue ('¼')' daje 0.25. Radości Unicode ... ;-) – Heinzi
To nie jest odpowiedź, która odpowiada na rzeczywiste pytanie, Char.GetNumericValue ("o"), Char.GetNumericValue ("w") i wszelkie nie numeryczne char zawsze zwróci -1 - Jeremy Ruten opublikował poprawną odpowiedź –