将枚举值转换为int或long类型进行比较。代码示例如下:
public class EnumComparer where TEnum : struct, IComparable, IConvertible, IFormattable
{
public static bool AreEqual(TEnum enum1, TEnum enum2)
{
if (!typeof(TEnum).IsEnum)
throw new ArgumentException("TEnum must be an enumeration type.");
long value1 = Convert.ToInt64(enum1);
long value2 = Convert.ToInt64(enum2);
return value1 == value2;
}
}
该使用泛型限制确保TEnum为枚举类型。然后,将两个枚举值转换为long类型进行比较,以确保长度足够大以支持所有可能的枚举值。
上一篇:比较不同列和行中的值
下一篇:比较不同模型的准确性