我目前正在向这段代码中添加一些新的扩展类:
foreach (BaseType b in CollectionOfExtendedTypes) {
if (b is ExtendedType1) {
((ExtendedType1) b).foo = this;
}
else if (b is ExtendedType2) {
((ExtenedType2) b).foo = this;
}
else {
b.foo = this;
}
}
并且很好奇是否有办法在 switch 语句中使用 is
关键字功能?
最佳答案
最新版本的 C# (7) 现在包含此功能
类型模式支持简洁的类型评估和转换。当与 switch 语句一起使用进行模式匹配时,它测试表达式是否可以转换为指定类型,如果可以,则将其强制转换为该类型的变量。它的语法是:
case type varname
关于c# - 在 c# 的开关中使用 'is' 关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/223643/