0

关于我的最后一个问题(是否有更简单的方法将一组变量作为数组传递

我试图将字符串变量传递给一个写入流的方法,而不是在每个单独的方法中进行写入。

使用 params 关键字显然是一种解决方案,但是通过使用它我相信我不能做这样的事情:

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

没有这会使代码非常混乱。有没有办法将此功能强制用于我自己的方法?

4

2 回答 2

6
void MyMethod(string format, params object[] obj) {
    var formattedString = String.Format(format, obj);
    // do something with it...
}
于 2009-10-30T17:04:13.367 回答
1

具有params关键字的方法可以传递显式数组或内联数组。

因此,您可以编写以下内容:

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

编辑你的问题不清楚。如果你问一个params数组参数是否只能给定一个值,答案是肯定的。

例如:

Write("myString");

.Net中的许多params方法具有仅采用一个参数的单独重载的原因是为了避免出于优化原因创建数组。

于 2009-10-30T17:08:25.200 回答