C# 将字符串[]数组分配到参数为字符串[]的函数中
我有一个函数C# 将字符串[]数组分配到参数为字符串[]的函数中,c#,string,params,C#,String,Params,我有一个函数无效测试(int-id,params-string[]strs) 如何将字符串数组作为strs参数传递?当我打电话时: Test(1, "a, b, c"); 它将“strs”作为单个字符串(而不是数组)。我对此进行了测试,它可以工作: private void CallTestMethod() { string [] strings = new string [] {"1", "2", "3"}; Test(1, strings);
无效测试(int-id,params-string[]strs)
如何将字符串数组作为strs
参数传递?当我打电话时:
Test(1, "a, b, c");
它将“strs”作为单个字符串(而不是数组)。我对此进行了测试,它可以工作:
private void CallTestMethod()
{
string [] strings = new string [] {"1", "2", "3"};
Test(1, strings);
}
private void Test(int id, params string[] test)
{
//Do some action with input
}
您可以这样调用它Test(1,)代码>
编辑
发件人:
params关键字用于指定采用
参数数量可变。您可以发送以逗号分隔的列表
参数声明中指定类型的参数,或
指定类型的参数数组。你也可以不发送
论据。参数后不允许有其他参数
方法声明中的关键字,并且仅显示一个params关键字
在方法声明中允许
因此,您也可以像下面这样调用Test
方法Test(1)代码>没有编译器错误。实际上,参数
只是由C编译器处理的语法糖,因此
这:
变成这样:
void Method(params string[] args) { /**/ }
Method(new string[] { "one", "two", "three" })
试试这个
var myStringArray = new string[] {"a", "b", "c"};
Test(myStringArray)
如果当前代码不工作,您遇到了什么错误?您使用的是什么语言?我使用的是C#。我只需将整个数组字符串分配到params字符串[]中就可以解决这个问题。请参阅文档中的params关键字:这个问题是一个简单的错误理解/错误语法。你想打电话给周围的人:测试(1,“a”,“b”,“c”);
var myStringArray = new string[] {"a", "b", "c"};
Test(myStringArray)