C# 在C中返回多个值的函数的方法签名#

C# 在C中返回多个值的函数的方法签名#,c#,return-value,C#,Return Value,我有下面的方法调用,它返回多个值,并且函数是异步类型的 var (averageSalary, numberOfEmployee) = await SomeCalculation(0L, 10, 0L == 10L); 现在我需要编写函数的方法签名和返回类型。代码如下: private static void Main(string[] args) { var (averageSalary, numberOfEmployee) = await SomeCalculati

我有下面的方法调用,它返回多个值,并且函数是异步类型的

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);
    }
private static void Main(字符串[]args)
{
var(averageSalary,numberOfEmployee)=等待计算(0L,10,0L==10L);
}
公共静态异步任务SomeCalculation(长num1、长num2、布尔b)
{
长期平均工资=num1;
long numberOfEmployee=num2;
回报(平均工资、员工人数);
}
但问题是,当该方法在主方法中调用时,将显示以下错误

“await”运算符只能在异步方法中使用。考虑用“AsiNC”修饰符标记该方法,并将其返回类型改为“任务”。


有人能给我写正确方法签名的建议吗。

下面是您的代码应该是什么样子的:

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);
}
公共静态异步任务SomeCalculation(长num1、长num2、布尔b)
{
长期平均工资=num1;
long numberOfEmployee=num2;
回报(平均工资、员工人数);
}
静态异步任务主(字符串[]args)
{
var(averageSalary,numberOfEmployee)=等待计算(0L,10,0L==10L);
}

您可能需要将Visual Studio中的C#版本重置为最新版本(7.1或更高版本)。单击项目,鼠标右键,单击“构建”,然后单击“高级”按钮。这是解释。

您需要将
Main
标记为
async