gpt4 book ai didi

c# - 有谁知道如果在使用泛型集合时不实现 iequtalable 会发生什么情况?

转载 作者:太空狗 更新时间:2023-10-29 23:04:21 25 4
gpt4 key购买 nike

我在这里问了一个问题:When To Use IEquatable And Why关于使用 IEquatable。

来自msdn:

在 Contains、IndexOf、LastIndexOf 和 Remove 等方法中测试是否相等时,通用集合对象(如 Dictionary(TKey, TValue)、List(T) 和 LinkedList(T))使用 IEquatable(T) 接口(interface).

如果您不实现该接口(interface),到底会发生什么?异常/默认对象等于/引用等于?

最佳答案

如果您不实现相等比较,将使用默认实现。

如果键是引用类型,则使用引用比较。除非您保留关键对象以便在从集合中检索项目时可以使用它们,否则它们会丢失。从相同的数据创建一个新的关键对象会为您提供一个具有差异引用的对象,因此它会错过您正在寻找的项目。

关于c# - 有谁知道如果在使用泛型集合时不实现 iequtalable 会发生什么情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2482535/

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