我有一个问题,我现在真的不需要它来申请,但我只是好奇。
有没有办法创建一个字符串并将其填充在 WriteLine 或 Messagebox.Show 的括号之间?
我认为代码应该看起来像这样:
MessageBox.Show(String s = string.Format("Hello World"));
那不是正确的代码,我唯一的问题是:这样的事情可能吗?
我有一个问题,我现在真的不需要它来申请,但我只是好奇。
有没有办法创建一个字符串并将其填充在 WriteLine 或 Messagebox.Show 的括号之间?
我认为代码应该看起来像这样:
MessageBox.Show(String s = string.Format("Hello World"));
那不是正确的代码,我唯一的问题是:这样的事情可能吗?
您可以在这样的调用中声明一个字符串。但是,您可以分配它。
string s = string.Empty;
MessageBox.Show(s = string.Format("Hello World"));
如果您可以在函数调用中声明字符串,则它不会在其他地方可见。因此,在语言中拥有该功能真的没有任何意义。
Evelie's answer的替代方法可以让您将所有内容写在一行中,可以定义一个返回字符串的辅助方法:
public static string ShowMsg(string msg) {
MessageBox.Show(msg);
return msg;
}
你的代码会变成:
string s = ShowMsg("Hello World");
或者
string s = ShowMsg(string.Format("Now is {0}.", DateTime.Now));
您还可以在辅助方法中执行格式化:
public static string ShowMsg(string format, params object[] args) {
string mgs = string.Format(format, args);
MessageBox.Show(msg);
return msg;
}
并将其用作:
string s = ShowMsg("Now is {0}.", DateTime.Now);