gpt4 book ai didi

c# - C# 中的通用值相等(标识)

转载 作者:太空狗 更新时间:2023-10-29 23:15:41 26 4
gpt4 key购买 nike

比较相同泛型类型的两个实例的最佳(最简洁和最佳)方法是什么,以便比较引用类型的身份(相同的对象,所以不是调用 Equals) 和 value 类型以获得值 equality

目前我这样做:

static bool IdentityEquals<T>(T x, T y)
{
return typeof(T).IsValueType
? EqualityComparer<T>.Default.Equals(x, y)
: ReferenceEquals(x, y);
}

最佳答案

您应该能够只对值类型使用 object.Equals:

 return typeof(T).IsValueType
? object.Equals(x, y)
: ReferenceEquals(x, y);

关于c# - C# 中的通用值相等(标识),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17286273/

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