📜  如何在C#中获取枚举的哈希码?(1)

📅  最后修改于: 2023-12-03 15:38:32.053000             🧑  作者: Mango

如何在C#中获取枚举的哈希码?

在C#中,枚举类型可以被用来定义一组命名的整数常量。有时候,我们可能需要使用枚举类型的哈希码来进行比较或者其他操作。下面将介绍如何在C#中获取枚举的哈希码。

获取枚举的哈希码

获取枚举的哈希码可以通过调用GetHashCode()方法来实现。该方法可以返回当前对象的哈希码,对于枚举类型来说,它将返回枚举常量的整数值。

下面是一个获取枚举哈希码的示例代码:

public enum Color
{
    Red = 0,
    Green = 1,
    Blue = 2
}

Color myColor = Color.Red;
int hashCode = myColor.GetHashCode();
Console.WriteLine("My Color HashCode: {0}", hashCode);

输出结果:

My Color HashCode: 0
扩展方法获取枚举哈希码

为了使用更加方便,我们可以定义一个扩展方法来获取枚举哈希码。下面是一个扩展方法的示例代码:

public static class EnumExtensions
{
    public static int GetEnumHashCode(this Enum value)
    {
        return value.GetHashCode();
    }
}

Color myColor = Color.Red;
int hashCode = myColor.GetEnumHashCode();
Console.WriteLine("My Color HashCode: {0}", hashCode);

输出结果:

My Color HashCode: 0
结论

在C#中,获取枚举哈希码可以通过调用GetHashCode()方法来实现,也可以通过定义扩展方法来进行扩展。