Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C#Azure函数中以数组形式传递多个参数?_C#_Azure_Azure Functions - Fatal编程技术网

如何在C#Azure函数中以数组形式传递多个参数?

如何在C#Azure函数中以数组形式传递多个参数?,c#,azure,azure-functions,C#,Azure,Azure Functions,我正在将一个node.js Azure函数移植到C#,因此这是在.csx容器中运行的C。我在本地Windows函数模拟器中运行,并且在Azure中的函数运行时中也尝试过这一点,两者都显示相同的编译器错误 我见过类似的问题,但在.csx文件或函数运行库中运行似乎有些不同,因为所有答案都不起作用 这是我正在调用的方法签名: DocumentClient.ExecuteStoredProcedureAsync<TValue> Method (Uri, Object[]) (第72行对应于

我正在将一个node.js Azure函数移植到C#,因此这是在.csx容器中运行的C。我在本地Windows函数模拟器中运行,并且在Azure中的函数运行时中也尝试过这一点,两者都显示相同的编译器错误

我见过类似的问题,但在.csx文件或函数运行库中运行似乎有些不同,因为所有答案都不起作用

这是我正在调用的方法签名:

DocumentClient.ExecuteStoredProcedureAsync<TValue> Method (Uri, Object[])
(第72行对应于数组赋值语句)

我尝试了所有这些不同的方法来定义数组,但每种方法都有类似的错误:

Object[] params = {"param1", "param2"};
object[] params = new[] {"param1", "param2"};
object[] params = new[] {param1, param2};
string[] params = {"param1", "param2"};
string[] params = new string[] {"param1", "param2"};
dynamic[] params = new[] {"param1", "param2"};

Azure函数是否需要不同样式的数组定义?在中没有提到数组。

您面临的问题是,您将变量命名为
params
,它是C#中的一个保留字(请参阅)。尝试使用其他名称

如果您真的开始使用
参数
,您可以使用
@
前缀,该前缀可以在C#中使用,以创建一个标识符,否则该标识符将是一个保留字:

object[] @params = { param1, param2 };

谢谢,我把它改成了args,现在它工作得很好。出于好奇,在方法调用中使用ArrayList而不是object数组有什么秘密吗?@Graham没有,应该是一样的:
var args=new ArrayList{param1,param2}-当然,只要该方法将
ArrayList
作为参数。说到
ArrayList
,这是一个在C#和/或遗留代码的第一个版本之后您几乎看不到的类。使用
List
来表达
ArrayList
的语义“我真的不知道类型”,而不是“有某种类型,但我无法表达它”,可能更为惯用。但这只是在您可以更改方法签名的情况下。
Object[] params = {"param1", "param2"};
object[] params = new[] {"param1", "param2"};
object[] params = new[] {param1, param2};
string[] params = {"param1", "param2"};
string[] params = new string[] {"param1", "param2"};
dynamic[] params = new[] {"param1", "param2"};
object[] @params = { param1, param2 };