代码如下
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
public static class PersonValidator
{
public static bool IsValid(Person person) =>
person switch
{
{ Age: < 0 } => false, // Age不能为负数
{ Age: > 120 } => false, // Age不能超过120岁
{ Name: null } => false, // Name不能为空
_ => true
};
}
class Program
{
static void Main()
{
var person = new Person { Name = "Alice", Age = 130 };
Console.WriteLine(PersonValidator.IsValid(person)); // 输出: True
}
}
编译时报错,如图

据说c#8.0要vs2019 16.3以上才支持,而目前版本是16.0,我安装了.net core3.1,然后编辑csprojnetcoreapp3.1,编译时又出现当前 .NET SDK 不支持将 .NET Core 3.1 设置为目标。请将 .NET Core 2.1 或更低版本设置为目标,或使用支持 .NET Core 3.1 的 .NET SDK 版本,所以在不升级vs2019 的情况下有办法解决吗,