代码检查:将 'as' 表达式类型检查及后续的 null 检查转换为取反的模式匹配
从 C# 7.0 开始,我们可以使用 模式匹配将类型检查、null 检查和类型转换结合在以下形式中: 表达式是类型变量——如果 表达式 不是 null 并且可分配给 类型 ,则它将被分配给 变量 ,否则模式将返回 false。
在 C# 7.0 之前,最常见的模式是使用 作为 安全转换表达式,然后检查变量是否为 null。 ReSharper 将检测代码中的这些模式,并帮助将其转换为更优雅的模式匹配形式。 例如:
void Test(object obj)
{
var str = obj as string;
if (str != null)
{
// do something
}
}
void Test(object obj)
{
if (obj is string str)
{
// do something
}
}
最后修改日期: 2025年 9月 27日