c# - 在 C# 中返回多个值的函数的方法签名
问题描述
我有下面的方法调用,它返回多个值,而且该函数是异步类型的。
var (averageSalary, numberOfEmployee) = await SomeCalculation(0L, 10, 0L == 10L);
现在我需要编写函数的方法签名和返回类型。下面是代码:
private static void Main(string[] args)
{
var (averageSalary, numberOfEmployee) = await SomeCalculation(0L, 10, 0L == 10L);
}
public static async Task<(long averageSalary, long numberOfEmployee)> SomeCalculation(long num1, long num2, bool b)
{
long averageSalary = num1;
long numberOfEmployee = num2;
return (averageSalary, numberOfEmployee);
}
但问题是当方法在 main 方法中调用时,显示以下错误。
'await' 运算符只能在异步方法中使用。考虑使用“异步”修饰符标记此方法并将其返回类型更改为“任务”。
谁能给我写正确方法签名的建议。
解决方案
您的代码应如下所示:
public static async Task<(long averageSalary, long numberOfEmployee)> SomeCalculation(long num1, long num2, bool b)
{
long averageSalary = num1;
long numberOfEmployee = num2;
return (averageSalary, numberOfEmployee);
}
static async Task Main(string[] args)
{
var (averageSalary, numberOfEmployee) = await SomeCalculation(0L, 10, 0L == 10L);
}
您可能需要将 Visual Studio 中的 C# 版本重置为最新版本(7.1 或更高版本)。单击项目,鼠标右键,单击“构建”,然后单击“高级”按钮。它在这里解释。
推荐阅读
- c# - 如何从 C# 应用程序设置中读取 Json 对象
- python - 重复应用过滤器,直到 Python 中的条件用尽
- java - 如何产生 10 个随机数并创建星号来表示值
- postgresql - 数据库中的 btreepage 和 MessageQueueSend 等待事件
- python - 如何为总和列创建具有不同颜色范围的热图?
- vue.js - vue中同时使用缩写和全名时如何按缩写排序
- javascript - 对 Javascript 数组中除最后一项外的所有内容执行
- firebase - 是否有任何选项可以根据用户获取 Firestore 读取使用情况
- reactjs - 反应:当元素为真时无法显示按钮
- msbuild - MSBuild 获取测试的程序集名称