gpt4 book ai didi

c# - 如何在 C# Azure 函数中将多个参数作为数组传递?

转载 作者:行者123 更新时间:2023-12-03 01:46:33 33 4
gpt4 key购买 nike

我正在将 Node.js Azure Functions 之一移植到 C#,因此这是在 .csx 容器中运行的 C#。我在本地 Windows Function 模拟器中运行,并且还在 Azure 中的 Functions 运行时中尝试过此操作,两者都显示相同的编译器错误。

我见过multiple other questions询问类似的问题,但在 .csx 文件或函数运行时运行似乎有些不同,因为没有一个答案有效。

这是我调用的方法签名:

DocumentClient.ExecuteStoredProcedureAsync<TValue> Method (Uri, Object[])

这是 run.csx 中的工作代码:

string param1 = "param1";
string param2 = "param2";

// object[] params = {"param1", "param2"};

var response = await client.ExecuteStoredProcedureAsync<object>(
sprocUri,
param1,
param2
);

当我尝试将两个参数添加到数组中并取消注释行 object[] params = {"param1", "param2"}; 时,我从编译器收到此错误:

run.csx(72,14): error CS1001: Identifier expected
run.csx(72,14): error CS1003: Syntax error, ',' expected
run.csx(72,21): error CS1002: ; expected
run.csx(72,21): error CS1525: Invalid expression term '='
run.csx(72,23): error CS1525: Invalid expression term '{'
run.csx(72,23): error CS1002: ; expected
run.csx(72,32): error CS1002: ; expected
run.csx(72,32): error CS1513: } expected
run.csx(72,42): error CS1002: ; expected
Compilation failed.

(第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 Functions 是否有什么不同之处,需要不同样式的数组定义? C# Developer Reference 中没有提到任何有关数组的内容。 .

最佳答案

您面临的问题是您将变量 params 命名为 C# 中的保留字(请参阅 params (C# reference) )。尝试使用不同的名称。

如果您确实决定使用 params,则可以使用 @ 前缀,该前缀可在 C# 中用于创建标识符,否则该标识符将成为保留字:

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

关于c# - 如何在 C# Azure 函数中将多个参数作为数组传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45946825/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com