2010-09-08 8 views

Respuesta

14

Se devuelve el valor ASCII del carácter 1

La primera declaración trata el argumento como una cadena y convierte el valor en Int, La segunda trata el argumento como char y devuelve su valor ASCII

2

El código '1' es el mismo que (char)49 (porque el punto de código Unicode del carácter 1 es 49). Y Convert.ToInt32(char) devuelve el punto de código de ese carácter como int.

1

Como otros ya han señalado: en su segundo ejemplo ('1') está utilizando un literal char. A char es un tipo numérico. No se realiza el análisis sintáctico como en el ejemplo de cadena ("1"), ya que ya es un número, solo un molde para un formato de número más amplio (de 16 bits a 32 bits).

2

Como dijeron los demás, Convert devuelve el código ASCII. Si desea convertir '1'-1 (int) se debe utilizar

int val = Convert.ToInt32('1'.ToString()); 
+0

Impresionante :) :) :) :) – Aravin

1

Se trata '1' como char e int forma de cualquier char es su equivalente ASCII para que presentara su equivalente ASCII. Pero en el caso de "1" lo trata como una cadena y lo convierte a entero.

Cuestiones relacionadas