gpt4 book ai didi

c# - 为什么在计算哈希码时使用异或运算符?

转载 作者:太空狗 更新时间:2023-10-29 17:52:00 27 4
gpt4 key购买 nike

<分区>

在这篇 MSDN 文章中 http://msdn.microsoft.com/en-us/library/ms132123.aspx它讨论了 Class Equalitycomparer 并有一个例子。在这个关于比较框的例子中它有这个类 -

class BoxSameDimensions : EqualityComparer<Box>
{
public override bool Equals(Box b1, Box b2)
{
if (b1.Height == b2.Height & b1.Length == b2.Length
& b1.Width == b2.Width)
{
return true;
}
else
{
return false;
}
}

public override int GetHashCode(Box bx)
{
int hCode = bx.Height ^ bx.Length ^ bx.Width;
return hCode.GetHashCode();
}
}

我不明白 int hCode = bx.Height ^ bx.Length ^ bx.Width;

有人可以解释一下吗?为什么要异或?

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