【发布时间】:2012-11-07 10:50:56
【问题描述】:
我有一个带参数的方法。在方法内部,应将另一个变量添加到输出中:
private void ParamsTest(params object[] objs)
{
var foo = "hello";
// Invalid: Interpretes objs as single array parameter:
Console.WriteLine("{0}, {1}, {2}", foo, objs);
}
当我打电话时
ParamsTest("Hi", "Ho");
我想看看输出。
hello Hi Ho
我需要做什么?
我可以将foo 和objs 复制到一个新数组中并将该数组传递给WriteLine,但是有没有更优雅的方法来强制objs 再次充当参数?有点像objs.ToParams()?
【问题讨论】:
-
不要被 Console.WriteLine 示例或格式字符串所牵制。这不是我真正的问题。真正的问题:如何让 WriteLine 看到 4(格式、foo 和 2 个数组元素)args 而不是 3(格式、foo 和数组)。