JetBrains Rider 2025.2 Help

代码检查:未使用纯方法的返回值

请考虑以下代码片段:

name.Replace(", ", " ");

虽然代码看起来像是在做某些事情,但实际上并没有! 原因是,由于字符串是不可变的, string.Replace 不会替换原始字符串中的任何内容(与例如 StringBuilder 不同)。 您所做的只是浪费了一些 CPU 周期,因为纯函数调用的结果未被分配给任何内容。

您可能还想知道 JetBrains Rider 是如何知道 string.Replace 是纯的。 实际上,这个技巧是通过 外部注解 为 .NET Framework 类库和其他常用库实现的。 这些注解包含在 JetBrains Rider 安装中。 触发此检查的 [Pure]属性也可以 用于您的自定义纯方法 ,或者您可以使用 外部注解 机制为您使用的已编译库中的纯方法添加注解。

最后修改日期: 2025年 9月 26日