我正在审查一些代码,我发现了一些看起来像这样的东西:
public class MyClass
{
public bool IsEditable { get; set; }
public void HandleInput()
{
if (IsEditable.Equals(false))
{
//do stuff
}
}
}
据我所知,(IsEditable.Equals(false))
与 (IsEditable == false)
相同(也与 ( !IsEditable)
).
除了个人喜好,.Equals()
和 ==
有什么区别吗,特别是用来比较bool
s?
最佳答案
这主要是一个可读性问题。我通常会使用 ==
因为那是我习惯看的东西。
特别是 bool 值,你根本不需要比较它们
if(!IsEditable)
就够了
尽管如此,有时我自己也会写类似 if (val == false)
的东西,只是为了确保在必须修改代码时不会误读它。
关于c# - 使用 == 或 .Equals() 进行 bool 比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13614839/