gpt4 book ai didi

c# - 应该在左侧或右侧检查 null

转载 作者:太空狗 更新时间:2023-10-29 21:04:32 24 4
gpt4 key购买 nike

在审查一些代码时,我看到了:

if (null == condition) { ... }

我还看到了:

if (condition == null) { ... }

我似乎记得在左侧使用 null 有一个优势,但我不记得了,我认为它是一个较旧的运行时项目,已被 newer 优化掉。 NET 运行时。我倾向于使用后者的 null 检查,因此前者引起了我的注意。

那么这是一个风格问题,还是将 null 放在计算的左侧或右侧是否有优势?

最佳答案

C 风格语言中的经典原因是防止将等式 == 错误键入为赋值 =。您不能分配给常量 - 即以下是非法的,因此编译器将捕获错误:

if (false = condition) { ... }

虽然这是完全合法的(但可能不是作者的意图:

if (condition = false) { ... }

注意:这个问题在 C# 中是有限的(与 vanilla C 相比),因为 if 语句需要一个 bool 值(如下面的注释中所指出的),所以这实际上导致问题的唯一情况是 if您的类型是 bool

关于c# - 应该在左侧或右侧检查 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34229318/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com