gpt4 book ai didi

C# 对象比较

转载 作者:行者123 更新时间:2023-11-30 19:29:03 24 4
gpt4 key购买 nike

在 C# 中,有没有办法重载比较运算符,例如 == , =<>在用户定义的对象上?

类似于你如何写"string"=="string"而不是 "string".Equals("string")

我知道您可以定义 CompareTo 和 Equals 函数,但我想知道是否有快捷方式。

最佳答案

您可以覆盖 ==通过在所需的 class 中实现具有以下签名的函数,C# 中的运算符:

public static bool operator ==(YourClass a, YourClass b) { }

同样适用于<=>运营商。

通过覆盖 ==您还必须覆盖 != , 建议重载 EqualsGetHashcode功能。

更多信息,请阅读:

Operator Overloading Tutorial

Guidelines for Overloading Equals() and Operator == (C# Programming Guide)

关于C# 对象比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13406756/

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