-3

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

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

我认为代码应该看起来像这样:

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

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

4

2 回答 2

7

您可以在这样的调用中声明一个字符串。但是,您可以分配它。

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

如果您可以在函数调用中声明字符串,则它不会在其他地方可见。因此,在语言中拥有该功能真的没有任何意义。

于 2013-02-27T08:37:16.463 回答
0

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);
于 2013-02-27T08:48:17.443 回答