gpt4 book ai didi

c# - 如何在 C# 中为枚举重载运算符?

转载 作者:IT王子 更新时间:2023-10-29 04:05:38 26 4
gpt4 key购买 nike

我有一个枚举类型,我想定义 > , < , >= , 和 <=运营商为。我知道这些运算符是根据枚举类型隐式创建的(根据 documentation ),但我想明确定义这些运算符(为了清楚、为了控制、知道如何做等... )

我希望我能做这样的事情:

public enum SizeType
{
Small = 0,
Medium = 1,
Large = 2,
ExtraLarge = 3
}

public SizeType operator >(SizeType x, SizeType y)
{

}

但这似乎行不通(“意外的标记”)……这可能吗?似乎应该如此,因为存在隐式定义的运算符。有什么建议吗?

最佳答案

你不能那样做。您只能为您定义的类和结构提供重载运算符——并且至少有一个参数应该是类或结构本身的类型。也就是说,您可以声明一个重载的加法运算符,它将一个MyClass 添加到MyEnum,但是您永远不能用两个MyEnum< 来做到这一点 值。

关于c# - 如何在 C# 中为枚举重载运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1355817/

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