问题描述
因此,假设我有一个名为“动物”的类,该类是由“猫”继承的。 如果我现在有一系列动物,我可以以某种方式从中访问猫变量(如果动物当然也是猫)?
解决方法
您可以使用is
运算符,
is运算符检查表达式的结果是否兼容 给定类型的代码,或者(从C#7.0开始)测试表达式 对抗模式。
foreach(var animal in animals)
{
if(animal is Cat lovelyCat)
{
//You can use lovelyCat as object of Cat
}
}
注意:is
运算符从C#7.0版开始支持pattern matching