コンソールへの書き込みに似たparamsキーワードの使用方法
質問
最後の質問(変数のグループを配列として渡す簡単な方法はありますか)
個々のメソッドごとに書き込むのではなく、ストリームに書き込むためにメソッドに文字列変数を渡そうとしました。
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つのパラメーターのみを取る個別のオーバーロードを持っている理由は、最適化のために配列を作成しないようにするためです。
所属していません StackOverflow