c#7模式与不相关的动态部分匹配

时间:2017-09-08 23:33:34

标签: c# c#-7.0

假设我们有以下(理论)代码

Func<object, dynamic, bool> f1 = (o, d) => o is Person p && p.Name == d && p.Age == 11;

Func<object, dynamic, bool> f2 = (o, d) => o is Person p && p.Age == 11 && p.Name == d;

在第一行我得到&#34;使用未分配的局部变量p&#34;。突出显示的p位于p.Age == 11。第二个不会产生任何错误。

我读到dynamic在模式匹配方面存在一些限制,但在这种情况下这不应该是相关的,因为唯一的区别是订单。

我错过了什么吗?

有些细节被提及herehere,但我不确定这些是否适用于这种情况。

0 个答案:

没有答案