質問

最後の質問(変数のグループを配列として渡す簡単な方法はありますか

個々のメソッドごとに書き込むのではなく、ストリームに書き込むためにメソッドに文字列変数を渡そうとしました。

paramsキーワードの使用は明らかに解決策ですが、それを使用することで、次のようなことはできないと思います:

Write("hello {0}",var1);

これがないと、コードが非常に煩雑になります。この機能を自分のメソッドに強制する方法はありますか?

役に立ちましたか?

解決

void MyMethod(string format, params object[] obj) {
    var formattedString = String.Format(format, obj);
    // do something with it...
}

他のヒント

params キーワードを持つメソッドには、明示的な配列またはインライン配列を渡すことができます。

したがって、次のように記述できます。

public static void Write(params string[] stringsToWrite) {
    //...
    writer.WriteLine("Hello {0} {1} {2}", stringsToWrite);
    //...
}

編集あなたの質問は不明です。 params 配列パラメーターに1つの値のみを指定できるかどうかを尋ねる場合、答えはyesです。

例:

Write("myString");

.Netの多くの params メソッドが、1つのパラメーターのみを取る個別のオーバーロードを持っている理由は、最適化のために配列を作成しないようにするためです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top