-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

すべてを 1 行で記述できる 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);
于 2013-02-27T08:48:17.443 に答える