2011-08-20 11 views
5

He buscado pero no sé si estoy usando la verborrea correcta para buscar. Estoy escribiendo un programa en C# para mi clase, pero estoy teniendo problemas con el cuadro de mensaje.C# Cuadro de mensaje, uso variable

Estoy intentando que el cuadro de mensaje muestre un mensaje y lea una variable al mismo tiempo. No tengo problemas para hacer esto en las aplicaciones de la consola, pero no puedo entenderlo por el lado de Windows.

hasta ahora tengo:

MessageBox.Show("You are right, it only took you {0} guesses!!!", "Results", MessageBoxButtons.OK); 

que funciona muy bien. Howerver Estoy tratando de que el {0} sea el resultado de la variable numGuesses. Estoy seguro de que esto es simple y solo lo estoy pasando por alto en el libro o algo así, o tengo la sintaxis incorrecta en algún lugar.

+0

'MessageBox.Show (String.Format (" Tiene razón, solo le tomó {0} conjeturas !!! ", numGuesses)," Resultados ", MessageBoxButtons.OK);' –

Respuesta

1

¿Qué hay de String.Format()?

MessageBox.Show(String.Format("You are right, it only took you {0} guesses!!!", numGuesses), "Results", MessageBoxButtons.OK); 
1

String.Format es lo que quiere:

string message = string.Format("You are right, it only took you {0} guesses!!!",numGuesses) 

MessageBox.Show(message, "Results", MessageBoxButtons.OK); 
1
MessageBox.Show(
        string.Format(
           "You are right, it only took you {0} guesses!!!", 
           Results 
           ), 
        MessageBoxButtons.OK 
       ); 
3

Puede utilizar String.Format o sencilla concatenación de cadenas.

MessageBox.Show(String.Format("You are right, it only took you {0} guesses!!!", myVariable), "Results", MessageBoxButtons.OK); 

http://msdn.microsoft.com/en-us/library/system.string.format(v=VS.100).aspx

concatenación:

MessageBox.Show("You are right, it only took you " + myVariable + " guesses!!!", "Results", MessageBoxButtons.OK); 

Ambos resultados son equivalentes, pero se pueden preferir String.Format si tiene varias variables en la misma cadena.

+0

No diría que son equivalentes. La llamada de formato utiliza stringbuilder mientras que el concat crea cadenas (potencialmente más lentas). –

+0

@Anthony Sottile: Correcto. Debería haber declarado que los resultados son equivalentes. –

Cuestiones relacionadas