我有一个问题,我现在并不是真的需要它,但我只是很好奇。
有没有办法创建一个字符串并将其填充在WriteLine或Messagebox.Show的括号之间?
我认为代码应该是这样的:
MessageBox.Show(String s = string.Format("Hello World"));
这不是正确的代码,我唯一的问题是:这样的事情可能吗?
答案 0 :(得分:7)
你可以像这样在一个调用中声明一个字符串。但是你可以分配它。
string s = string.Empty;
MessageBox.Show(s = string.Format("Hello World"));
如果你可以在一个函数调用中声明字符串,它就不会在别处可见。因此,在语言中使用该功能真的很有意义。
答案 1 :(得分:0)
Evelie的答案可以让你在一行中编写所有内容,可以定义一个返回字符串的辅助方法:
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);