在方法中使用C#7.0元组时出错

时间:2018-06-01 03:28:53

标签: c# visual-studio-2017 tuples c#-7.0

我正在使用下面的代码在C#7.0中尝试新的Tuple语法,而且它没有编译。 VS 2017 15.7 .Net 4.6不提供错误计数,但在输出窗口中显示错误。 Resharper没有指出任何错误。相同的代码在Linqpad中运行。我安装了Install-Package System.ValueTuple -Version 4.5.0  我错过了什么?

private (bool a, bool b) Get(int num)
{
    return (true, false);
}

错误是:

error CS1519: Invalid token '(' in class, struct, or interface member declaration
error CS1001: Identifier expected
error CS1002: ; expected
Syntax error, ',' expected
error CS1002: ; expected
error CS1520: Method must have a return type
error CS1026: ) expected
error CS1002: ; expected
error CS1513: } expected
error CS1002: ; expected
error CS1513: } expected

2 个答案:

答案 0 :(得分:1)

安装最新版本的Microsoft.Net.Compilers升级版本我修复了问题但后来我继续删除了csproj和packages.config文件中对它的所有引用。我不记得为什么我需要它。

Install-Package Microsoft.Net.Compilers -Version 2.8.2

答案 1 :(得分:0)

在更新Visual Studio版本之后,为了使用新的语法,您需要再做一件事:

转到您的NUGET软件包管理器,并添加对System.ValueTuple.dll的引用。