开发者

C# Message Box, variable usage

开发者 https://www.devze.com 2023-03-29 07:18 出处:网络
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 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.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号