代码示例
public class person
{
public string Name { get; set; }
public string Age { get; set; }
}
//模板匹配
//【1】类型模式匹配 用在if 里面新的变量 str1属于局部变量
string str = "Hello,模板匹配";
string str2 = "";
if (str is string str1)
{
str2= str1;
}
Console.WriteLine(str2);
//【2】常量模式匹配 swatch case 暂不举例子
//【3】递归模式匹配
person p = new person() { Age="18", Name="Joe" };
if (p is person { Age: "18", Name: "Joe" })
{
Console.WriteLine($"name is joe, age is 18");
}
//【4】非空类型判断 如果p 不为空, 则将p赋值给pp
if(p is { } pp)
{
Console.WriteLine($"pp' s name is {pp.Name} and age is {pp.Age}");
}