代码检查:冗余的强制转换
根据 C# 文档, 显式转换 (强制转换)在以下情况下是冗余的:
从派生类到基类的转换。
从较小的整型转换为较大的整型。
在这些情况下,强制转换由编译器隐式完成。 无需多言,重复的强制转换以及相同类型之间的强制转换也是冗余的。
JetBrains Rider 建议在隐式转换不会丢失信息或转换始终会成功的情况下移除显式强制转换。
class Base {}
class Derived : Base {}
class Program
{
static void Main()
{
Derived d = new Derived();
Base b = (Base) d;
// ...
}
}
class Base {}
class Derived : Base {}
class Program
{
static void Main()
{
Derived d = new Derived();
Base b = d;
// ...
}
}
最后修改日期: 2025年 9月 26日