我使用的是 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/