在MessageBox或WriteLine中创建字符串

时间:2013-02-27 08:35:58

标签: c# string messagebox

我有一个问题,我现在并不是真的需要它,但我只是很好奇。

有没有办法创建一个字符串并将其填充在WriteLine或Messagebox.Show的括号之间?

我认为代码应该是这样的:

MessageBox.Show(String s = string.Format("Hello World"));

这不是正确的代码,我唯一的问题是:这样的事情可能吗?

2 个答案:

答案 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);