C# Message Box, variable usage
I have searched but I dont know if I am using the correct verbiage to search for. I am writing a program in C# for my class but I am having trouble with the message box.
I am trying to have the message box show a message and read a variable at the same time. I ha开发者_JS百科ve no problem doing this in the console applications but I cannot figure it out for the Windows side.
So far I have:
MessageBox.Show("You are right, it only took you {0} guesses!!!", "Results", MessageBoxButtons.OK);
Which works fine. Howerver I am trying to have the {0} be the result of the variable numGuesses. I'm sure this is simple and I am just overlooking it in the book or something, or I have the syntax incorrect someplace.
try
MessageBox.Show(string.Format ("You are right, it only took you {0} guesses!!!", numGuesses ), "Results", MessageBoxButtons.OK);
see http://msdn.microsoft.com/en-us/library/system.string.format(v=VS.100).aspx
You can use String.Format
or simple string concatenation.
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
Concatenation:
MessageBox.Show("You are right, it only took you " + myVariable + " guesses!!!", "Results", MessageBoxButtons.OK);
Both results are equivalent, but you may prefer String.Format
if you have multiple variables in the same string.
What about String.Format() ?
MessageBox.Show(String.Format("You are right, it only took you {0} guesses!!!", numGuesses), "Results", MessageBoxButtons.OK);
String.Format is what you want:
string message = string.Format("You are right, it only took you {0} guesses!!!",numGuesses)
MessageBox.Show(message, "Results", MessageBoxButtons.OK);
MessageBox.Show(
string.Format(
"You are right, it only took you {0} guesses!!!",
Results
),
MessageBoxButtons.OK
);
You are well done with your class, and this thread is old. With that said, today you can solve this issue as such:
var firstName = "Sam";
MessageBox.Show($"My first name is { firstName }.", "First Name", MessageBoxButtons.Ok);
You can also use it in a catch block:
...
}
catch (Exception ex)
{
MessageBox.Show($"Program encountered an error \n\n{ ex.Message }", "Program Error", MessageBoxButtons.Ok);
}
Basically any string variable can be used in this way. Not sure about functions that return a string, though I don't see why not.
精彩评论