我安装了一周前发布的Visual Studio 2017社区,并开始探索C#7的新功能.

所以我创建了一个简单的方法,返回两个值:

public class Program
{
    public static void Main(string[] args)
    {
        (int sum, int count) a = ReturnTwoValues();
    }

    static (int sum, int count) ReturnTwoValues() => (1, 1);
}

编译器正在生成错误:

错误CS8137无法定义使用元组的类或成员

我试着在框架中找到一个同名的引用,但没有成功!

If we need additional stuff to use C# 7.0 features, then it is very weird that we need to do that for every project ?!

推荐答案

我刚刚在Roslyn上浏览了这一页,其中描述了实现此功能的以下步骤:

  1. 启动一个C#项目
  2. 添加对System.ValueTuple的引用

enter image description here

按照这些步骤,它现在正在发挥作用.但对于我们开始的每个项目,我们都需要这样做,这真的很奇怪!希望这是固定的,当我们达到正式发布!

.net相关问答推荐

为什么这个同步运行的异步睡眠会挂起?

无法通过构建目标访问 dotnet 的环境变量

无法实例化类的代理:System.Net.HttpWebRequest.找不到无参数构造函数

使用 Thread.Abort() 有什么问题

使用 Windows 服务和 C# 检测 USB 驱动器插入和移除

如何在 EF 代码优先中禁用链接表的级联删除?

如何从 appsettings.json 中获取价值

如何以编程方式 Select ListView 中的项目?

从 Web.Config 中的邮箱友好显示名称存储 Smtp

如何在 C# 中序列化异常对象?

我们应该总是在类中包含一个默认构造函数吗?

多个添加的实体可能具有相同的主键

是否有 Linq 方法可以将单个项目添加到 IEnumerable

mscorlib 代表什么?

DataGridView 在我的两个屏幕之一上的可怕重绘性能

C# 中的 F# List.map 类似功能?

如何从头开始以编程方式配置 log4net(无配置)

Microsoft.Bcl.Build NuGet 包有什么作用?

如何以编程方式删除 WebClient 中的 2 个连接限制

如何在 nuspec 中指定特定的依赖版本?