2012-07-14 24 views
5

Todavía soy nuevo en C# y me preguntaba cómo podrían suceder varias cosas cuando se cumple una condición if. por ejemplo.sentencias 'if'

int number = (Convert.ToInt32(textbox1.text)); 
    if (number == 1) 
     textbox2.Text = "1";     
     number2 = 33;   
     textbox3.text = (Convert.ToString(number2)); 

Cuando hago algo como esto su dosnt completa todos los resultados deseados.

P.S Si este no es el sitio correcto para preguntas de principiantes como este, ¿alguien sabe a dónde puedo ir? (después de la investigación, por supuesto).

+0

Sólo la primera declaración después de la 'if' se ejecutará. Debe agregar todas las instrucciones en un ámbito de bloque usando '{}' alrededor de ellas para que se puedan ejecutar todas. – Oded

+0

Debería * realmente * abrirse camino a través de la [guía oficial] (http://msdn.microsoft.com/en-us/library/67ef8sbd) u otro tutorial. (Dicho esto, en cuanto a las preguntas de los novatos, el tuyo está bien.) – millimoose

+1

No hay problema, estamos bien con las preguntas de los novatos. Solo enséñanos que hiciste un esfuerzo y formateaste bien tu pregunta, incluido el código correspondiente, y nos encantaría responder a tu pregunta (incluso obtendrás un par de votos favorables de esa manera :). –

Respuesta

7
if (number == 1) 
{ 
    textbox2.Text = "1";     
    number2 = 33;   
    textbox3.text = (Convert.ToString(RSP)); 
} 

Agregue los corchetes a las declaraciones de grupo juntas.

Sin los paréntesis, la sentencia if sólo afectará a la siguiente declaración: textbox2.Text = "1";, y tendrá siempre puede ejecutar las otras declaraciones, independientemente de la sentencia if.

+1

Para ponerlos en un alcance. – Oded

+2

La siguiente afirmación, no la siguiente línea, puede poner la declaración junto al if. – WDRust

1
int number = (Convert.ToInt32(textbox1.text)); 
if (number == 1) 
{ 
    textbox2.Text = "1";     
    number2 = 33;   
    textbox3.text = (Convert.ToString(RSP)); 
} 

Usa las llaves. Esto muestra el bloque de código para ejecutar en instrucción IF

2

Es necesario utilizar un bloque, usando los { y } personajes ...

int number = (Convert.ToInt32(textbox1.text)); 
if (number == 1) 
{ 
    textbox2.Text = "1";     
    number2 = 33;   
    textbox3.text = (Convert.ToString(RSP)); 
} 
2

Necesitas envolverlo todo entre llaves {}

int number = Convert.ToInt32(textbox1.text); 
if (number == 1) 
{ 
    textbox2.Text = "1";     
    number2 = 33;   
    textbox3.text = Convert.ToString(RSP); 
} 

Además, no son necesarios los paréntesis alrededor de las funciones Convertir. No afecta la funcionalidad, solo el mantenimiento general de la casa.

2

Si las declaraciones en la instrucción if son más de 1, se requieren llaves.

int number = (Convert.ToInt32(textbox1.text)); 
    if (number == 1) 
    { 
     textbox2.Text = "1";     
     number2 = 33;    
     textbox3.text = (Convert.ToString(RSP)); 
    } 
1

Ajustar el bloque de código entre llaves ({}).

int number = (Convert.ToInt32(textbox1.text)); 
if (number == 1) 
{ 
    textbox2.Text = "1"; 
    number2 = 33; 
    textbox3.text = (Convert.ToString(number2)); 
} 
0

se ha perdido el alcance {}

int number = (Convert.ToInt32(textbox1.text)); 
if (number == 1) 
{ 
    textbox2.Text = "1"; 
    number2 = 33; 
    textbox3.text = (Convert.ToString(number2)); 
} 

O

int number = int.Parse(textbox1.text); 
if (number == 1) 
{ 
    textbox2.Text = "1"; 
    number2 = 33; 
    textbox3.text = number2.ToString(); 
    //the above line can also be written as follows 
    //textbox3.text = "" + number2; 
} 

Ambos funcionarán bien

Cuestiones relacionadas