在MessageBox或WriteLine中创建字符串
问题描述:
我有一个问题,目前我并不真的需要它的应用程序,但我只是好奇。在MessageBox或WriteLine中创建字符串
有没有办法创建一个字符串并将其填充到WriteLine或Messagebox.Show的括号之间?
的代码应该再是这个样子,我认为:
MessageBox.Show(String s = string.Format("Hello World"));
这是不正确的代码,我只问题是:是这样的事情可能吗?
答
你可以像这样在一个调用中声明一个字符串。但是,您可以分配它。
string s = string.Empty;
MessageBox.Show(s = string.Format("Hello World"));
如果你可以在函数调用中声明字符串,它不会在其他地方显示。所以它真的会在语言中具有这种功能。
答
到Evelie的回答另一种是让你写这一切在一个行可以定义一个helper方法返回一个字符串:
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);
如果你解释这可能是更好的**为什么**和** **你希望什么来完成,而不是问一个可能,看似不协调的解决方案。 =) – 2013-02-27 08:37:43
代码更紧凑 – Max 2013-02-27 08:38:52
您应该为您的问题添加一个要求,因为所提供的示例没有意义,不会进行编译,也不会说明您要求的是什么。 – 2013-02-27 08:39:32