【发布时间】:2017-08-18 16:36:46
【问题描述】:
我不确定如何在现有解决方案中使用新的 C# 7 功能。我尝试在 switch 语句中使用模式匹配,但我不断收到 Value of integral type expected 错误。
有启用它的技巧吗?如果我在 VS 2017 中打开解决方案,我可以使用新功能。
我的项目针对 .net 4.6.2。
这里是示例代码
private void CS7Test(object o)
{
switch (o)
{
case null:
Console.WriteLine("it's a constant pattern");
break;
case int i:
Console.WriteLine("it's an int");
break;
case UserInfo p when p.Username.StartsWith("Ka"):
Console.WriteLine($"a Ka person {p.Username}");
break;
case UserInfo p:
Console.WriteLine($"any other person {p.Username}");
break;
case var x:
Console.WriteLine($"it's a var pattern with the type {x?.GetType().Name} ");
break;
default:
break;
}
}
【问题讨论】:
-
你能包含一些代码来演示这个错误吗?除了需要添加值元组nuget包,使用C# 7只需要在BS2017中打开它。
-
@DavidArno 添加了示例代码。
-
项目属性 |构建 |高级... |语言版本