c# - 使用 == 或 .Equals() 进行 bool 比较

标签 c#

我正在审查一些代码,我发现了一些看起来像这样的东西:

public class MyClass
{
    public bool IsEditable { get; set; }

    public void HandleInput()
    {
        if (IsEditable.Equals(false))
        {
            //do stuff
        }
    }
}

据我所知,(IsEditable.Equals(false))(IsEditable == false) 相同(也与 ( !IsEditable)).

除了个人喜好,.Equals()== 有什么区别吗,特别是用来比较bools?

最佳答案

这主要是一个可读性问题。我通常会使用 == 因为那是我习惯看的东西。

特别是 bool 值,你根本不需要比较它们

if(!IsEditable)

就够了

尽管如此,有时我自己也会写类似 if (val == false) 的东西,只是为了确保在必须修改代码时不会误读它。

关于c# - 使用 == 或 .Equals() 进行 bool 比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13614839/

相关文章:

c# - 保持 Service Fabric Actor 的状态

c# - 运行任意数量的函数,每个函数都在自己的线程上

c# - 从 asp.net 中的 SqlDataSource 获取更新语法错误

c# - MVVM C#WPF-更改observablecollection中的项目时UI不更新

c# - 需要 CS1001 网站标识符

基于语言或CultureInfo的C#动态对象实例化

c# - 计算通用列表中存在的字典中值的总和

c# - 为什么我不能将 '??' 操作数用于 System.DBNull 值?

c# - 如何使用自定义 Controller 方法或 ASP.net MVC 中的任何其他方式将数据插入数据库?

c# - 通过 ClickOnce 中的方法调用执行新进程