Tag: language agnostic

布尔类型

在代码审查期间,我发现我们的C#代码的许多地方看起来像这样: if(IsValid()) { return true; } else { return false; } 甚至“更好”: return (IsValid()? true : false); 我总是想知道为什么不写这样的代码: return IsValid(); 这是我编写此代码的方式。 我不是在质疑开发人员的技能,但可能试图调查开发人员的灵魂。 为什么开发人员喜欢更复杂的代码而不是更简单直观? 或许原因是很难接受布尔类型作为一等公民?

为什么GetHashCode在Object类中?

为什么GetHashCode是Object类的一部分? 只有一小部分对象用作哈希表中的键。 当我们希望类的对象作为哈希表中的键时,必须实现一个单独的接口,这不是更好吗? 必须有一个原因,MS团队决定将此方法包含在Object类中,从而使其“无处不在”。