将数组作为单个值传递给参数

问题描述:

我打电话给一个函数,其形式与第一个参数是字符串和其余部分是替换值时的形式相同string.format。我有一个变量中的字符串和数组中的替换值,我如何在数组中给定任意数量的对象时调用此函数?简单地传入数组作为最后一个参数不起作用。将数组作为单个值传递给参数

+0

告诉我们你试过的东西... – 2010-10-27 10:35:58

+0

你写了调用函数吗?它需要N个参数还是只有一个数组参数? – 2010-10-27 10:36:35

+0

作为数组传递变量应该可以工作。你可以添加代码吗? – 2010-10-27 10:37:52

我打电话的功能有签名

public static IQueryable Where(this IQueryable source, string predicate, params object[] values) 

Thhe问题是,我是在传递整数作为最后一个参数的数组。当我创建一个新的从最初的数组中排队的对象并传入它时,它就起作用了。谢谢你的回答

您需要使用params关键字

使用params关键字:

public string MyMethod(string value, params object[] args) 
{ 
    // as an example 
    return string.Format(value, args); 
} 

然后,你可以把它不论是使用单独值

MyMethod("Test", "value1", "value2"); 

或与阵列

MyMethod("Test", new [] { "value1", "value2" });