c# - "if (object is (string, Color))"c# 7.0 元组用法不起作用

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

我使用的是 Visual Studio 2017 RC,我已经安装了 System.ValueTuple 包,它启用了新的 c# 7.0 元组用法,但我无法让它在这种特定情况下工作:

如您所见,第一种方法没有任何红色波浪线,而且很管用。但是尝试执行 o is (string, Color) 失败并出现不相关的错误:

新的元组不能这样用吗?或者它只是包裹的当前状态?我已经将它更新到最新版本 btw,此时是 4.3.0。我读过 this MSDN post但没有发现任何这样的用法。

最佳答案

Roslyn contains tests that ensure using tuples in pattern matching does cause errors (添加到 this PR 中,没有解释任何内容),所以这似乎是目前预期的行为。我不确定这是什么原因,或者 C# 7.0 的最终版本是否计划这样做。这当然是我希望工作的东西。

关于c# - "if (object is (string, Color))"c# 7.0 元组用法不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40832381/

相关文章:

c++ - 为什么这个 get_index 实现在 VS2017 上失败了?

c# - 如何在C#中将arraylist转换为整数数组

c# - ICommand 不将更改推送到 Windows UWP 中的 UI

c# - 调整包含许多项目的 ScrollViewer 的大小非常慢

haskell - 列表列表或元组元组

python - 如何在python中迭代列表的元组列表,并一一获取所有元素?

c# - asp.net core 2.0 发布生成大量 DLL

c# - Silverlight:字形宽度

tuples - 在 C# 7 中是否可以将元组解构为方法参数

c# - 从 Visual Studio 2017 RC 降级到 Visual Studio 2015 的解决方案