我刚开始学习C#所以请耐心等待。在这个简单的问题上,我一直在寻找帮助。
我有一个程序,要求用户猜出一个随机数,在猜到数字后会出现一个消息框,说明你的正确和多少猜测。我刚刚从创建控制台应用程序转移到Windows窗体应用程序,并痛苦地意识到它是一组不同的规则。
MessageBox.Show("You are right! It took you " +totalGuesses," guesses",MessageBoxButtons.OK);
我需要输出来说你是对的!你花了9个猜测。
我最终得到的是你是对的!它花了9个,猜测是消息框的标题。
有人可以告诉我,我做错了吗。
答案 0 :(得分:4)
这将是正确的方法调用:
MessageBox.Show("You are right! It took you " + totalGuesses + " guesses","Title of your Box",MessageBoxButtons.OK);
在c#方法中可以有不同的参数,每个参数用","分隔。方法也可以重载,以便您可以使用不同的参数调用相同的方法: 因此,如果您只想在MessageBox中显示消息,可以写:
MessageBox.Show("Your Message");
如果您想为邮件添加标题:
MessageBox.Show("Your Message", "Title");
在这种情况下,智能感知是一个很好的帮助,因为它应该在每次插入""时显示参数的简短描述。在方法调用中。
在你的情况下你放了一个","在"猜测"前面。结果是,c#将其视为第二个参数,即框的标题。
答案 1 :(得分:2)
通常建议对这些类型的事物使用String.Format。请尝试以下方法:
var message = string.Format("You are right! It took you {0} guesses.", guesses);
MessageBox.Show(message, "Correct!", MessageBoxButtons.OK);
答案 2 :(得分:0)
您也可以使用string.Format
;
MessageBox.Show(string.Format("You are right! It took you {0} guesses", totalGuesses),
"Caption",
MessageBoxButtons.OK);