Así que tengo un caracter en C#:C# char a int
char foo = '2';
Ahora queremos obtener el 2 en un int. Encuentro que Convert.ToInt32 devuelve el valor decimal real del carbón y no el número 2. El siguiente trabajo:
int bar = Convert.ToInt32(new string(foo, 1));
int.parse sólo funciona en cadenas, por supuesto.
¿No existe una función nativa en C# para pasar de una char a int sin convertirla en una cadena? Sé que esto es trivial, pero parece extraño que no haya nada nativo para hacer la conversión directamente.
ahh! entonces hay algo nativo! Es extraño que devuelva un doble. Me gusta esta respuesta mejor. Gracias por mencionarlo. – KeithA
@KeithA: Hay una razón para que regrese doble: 'char.GetNumericValue ('¼')' produce 0.25. Las alegrías de Unicode ... ;-) – Heinzi
Esta no es una respuesta que responda a la pregunta real, Char.GetNumericValue ('o'), Char.GetNumericValue ('w') y cualquier carácter no numérico siempre devolverá -1 - Jeremy Ruten ha publicado la respuesta correcta –