c# - "Is"C# 运算符就像java 中的instanceof 吗?

标签 c#

我刚刚发现这个运算符,我想知道它是否可以安全使用。

我的意思是,在 Java 中,我们的老师总是告诉我们要避免使用 instanceof(),因为它破坏了多态性并且经常表现出糟糕的编码。

最佳答案

这是“安全”的。至少使用此检查比仅仅强制转换并假定类型更安全!您可能更喜欢使用 as运算符,如果合适,它将执行到所需类型的转换,否则返回 null。只需记住检查是否为 null。

但显式类型检查通常表明您的模型有些问题。有时这是不可避免的,但如果您经常这样做,我会退一步并重新考虑您的模型。

关于c# - "Is"C# 运算符就像java 中的instanceof 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11307348/

相关文章:

c# - 为什么我的 C# 编译器找不到 System.Windows.Forms

c# - 如何使用 C# 在 Powerpoint 2013 中获取鼠标光标下的单词?

c# - 表达式与 nameof

C#:使用包含多个图像的 .ico 文件

c# - 编译的表达式树会泄漏吗?

c# - LINQ to SQL 找到字段的平均值?

c# - 子串索引许多相似的字符串

c# - 访问可能存在也可能不存在的子元素时避免对象空引用异常

c# - 屏幕左上角出现动态生成的下拉菜单

c# - 这真的是 Linq 比 Foreach 更快的情况吗