2011-08-20 24 views
5

私は検索しましたが、検索するために正しい言葉を使用しているかどうかはわかりません。私はクラスのためにC#でプログラムを書いていますが、メッセージボックスに問題があります。C#メッセージボックス、変数の使用

私はメッセージボックスにメッセージを表示し、同時に変数を読み込もうとしています。私はコンソールアプリケーションでこれを行う問題はありませんが、私はWindows側のためにそれを把握することはできません。

これまでのところ私が持っている:正常に動作します

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

。 Howerver私は{0}を変数numGuessesの結果にしようとしています。私はこれがシンプルだと確信しています。私はその本や何かでそれを見落としているだけです。そうでないと構文が間違っています。

+0

'MessageBox.Show(String.Format("あなたは正しいです、あなたは{0}推測!!!! "、numGuesses)、" Results "、MessageBoxButtons.OK); ' –

答えて

1

参照してみてください?

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

String.Format何をしたいです:

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

あなたはString.Formatまたは単純な文字列連結を使用することができます。

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

連結:

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

どちらも結果は同じですが、あなたは同じ文字列内に複数の変数を持っている場合は、String.Formatを好むかもしれません。

+0

私はそれらが同等であるとは言いません。フォーマット・コールはstringbuilderを使用しますが、concatは文字列を作成します(速度は遅くなる可能性があります)。 –

+0

@Anthony Sottile:正しい。私は結果が同等であると述べたはずです。 –

関連する問題