【发布时间】:2017-04-11 11:19:11
【问题描述】:
我正在使用 Visual Studio 2017 RC,并且我已经安装了 System.ValueTuple 包,它启用了新的 c# 7.0 元组使用,但我无法使其在这种特定情况下工作:
如您所见,第一种方法没有任何红色波浪线,并且可以正常工作。但是尝试执行 o is (string, Color) 失败并出现不相关的错误:
不能这样使用新的元组吗?或者它只是包的当前状态?顺便说一句,我已将其更新到最新版本,目前是 4.3.0。我读过this MSDN post,但没有发现任何这样的用法。
【问题讨论】:
-
nuget 包仅提供必要的类型,它不提供处理此问题的编译器部分,因此虽然 Nuget 包是使用元组所必需的,但它与您的错误消息无关'得到。
-
为了将来的参考,最好将代码和错误消息以文本而不是屏幕截图的形式发布,这样其他人(例如我)可以更轻松地试验代码并分析结果。
-
出于好奇:“o is Tuple
”有效吗? -
@Dyrborg 它将编译但意味着别的,因为新的元组类型为
ValueTuple<...>,而不是Tuple<...>。话虽如此,执行o is ValueTuple<string, Color>将 工作并返回true。 -
还要注意 if 语句与此无关,只是这个表达式由于某种原因是非法的:
o is (string, Color)。
标签: c# tuples visual-studio-2017 c#-7.0