Окно сообщения C #, использование переменной - PullRequest
5 голосов
/ 21 августа 2011

Я искал, но я не знаю, использую ли я правильное слово для поиска. Я пишу программу на C # для своего класса, но у меня возникают проблемы с окном сообщения.

Я пытаюсь, чтобы окно сообщений показывало сообщение и одновременно считывало переменную. У меня нет проблем с этим в консольных приложениях, но я не могу понять это для Windows.

Пока у меня есть:

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

Который работает нормально. Однако я пытаюсь, чтобы {0} был результатом переменной numGuesses. Я уверен, что это просто, и я просто пропускаю это в книге или что-то в этом роде, или у меня где-то неверный синтаксис.

Ответы [ 5 ]

11 голосов
/ 21 августа 2011

1001 * попробовать *

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

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

3 голосов
/ 21 августа 2011

Вы можете использовать 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, если в одной строке несколько переменных.

1 голос
/ 21 августа 2011
MessageBox.Show(
                  string.Format(
                                 "You are right, it only took you {0} guesses!!!",
                                Results
                               ), 
                  MessageBoxButtons.OK
               );
1 голос
/ 21 августа 2011

String.Format - это то, что вы хотите:

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

MessageBox.Show(message, "Results", MessageBoxButtons.OK);
1 голос
/ 21 августа 2011

А как насчет String.Format () ?

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