24

私には機能がありますvoid Test(int id, params string[] strs)

strs文字列の配列を引数として渡すにはどうすればよいですか? 私が電話するとき:

Test(1, "a, b, c");

"strs" は単一の文字列 (配列ではありません) として取ります。

4

3 に答える 3

14

私はこれをテストしましたが、動作します:

    private void CallTestMethod()
    {
        string [] strings = new string [] {"1", "2", "3"};
        Test(1, strings);

    }

    private void Test(int id, params string[] test)
    {
        //Do some action with input
    }

このように呼び出すことができますTest(1, <Some string[]>);

編集

params の MSDN Web サイトから:

params キーワードを使用すると、可変数の引数を取るメソッド パラメーターを指定できます。パラメーター宣言で指定された型の引数のコンマ区切りリスト、または指定された型の引数の配列を送信できます。引数を送信しないこともできます。メソッド宣言の params キーワードの後に​​パラメータを追加することはできません。また、メソッド宣言で使用できる params キーワードは 1 つだけです。

したがって、コンパイラ エラーなしでTestこのようにメソッドを 呼び出すこともできます。Test(1);

于 2013-04-02T07:09:06.263 に答える
1

これを試してみてください。

var myStringArray = new string[] {"a", "b", "c"};
Test(myStringArray)
于 2013-04-02T07:28:13.707 に答える