从版本15.6.7开始,Visual Studio 2017用于以下类:
cell.imageViewArrow.image = cell.imageViewArrow.image?.imageFlippedForRightToLeftLayoutDirection()
生成此class Contact
{
public int Id { get; set; }
public string Name { get; set; }
}
方法(数字不同):
GetHashCode
为什么使用public override int GetHashCode()
{
var hashCode = 1460282102;
hashCode = hashCode * -1521134295 + Id.GetHashCode();
hashCode = hashCode * -1521134295 + EqualityComparer<string>.Default.GetHashCode(Name);
return hashCode;
}
检索字符串哈希,而不仅仅是通过调用EqualityComparer<>
实例方法?是否仅仅是因为默认比较器执行的空检查?
在我看来,使用相等比较器是一种开销。