internal static void TestMatch()
{
#region Test1
object[] objArr = { new Per() { Name = "1" }, new Person() { Name = "2" }, new Stuend(), new Account() { Name = "4" } };
foreach (object obj in objArr)
{
string name = obj switch
{
Account p when p.Name.Length > 0 => p.Name,
Person p => p.Name,
Stuend p => p.ToString(),
Per p => p.Name,
_ => string.Empty
};
Console.WriteLine(name);
}
#endregion
foreach (object obj in objArr)
{
string nameStr = obj switch
{
Person p=>p.Age switch
{
>100 =>"大于100",
<100 =>"小于100",
_ => "等于一百"
},
Account p =>p.Name,
_ => string.Empty
};
Console.WriteLine(nameStr);
}
}
用于 备忘 switch 模式配置的增强。