相关疑难解决方法(0)

用C++扩展枚举?

C++中是否有一种扩展/"继承"枚举的方法?

IE:

enum Enum {A,B,C};
enum EnumEx : public Enum {D,E,F};
Run Code Online (Sandbox Code Playgroud)

或至少定义它们之间的转换?

c++ enums

68
推荐指数
5
解决办法
4万
查看次数

C#:枚举的默认值是None还是Unknown?

假设您有一个表示错误代码的枚举.将有几个代码,每个代码都有自己的底层int值; 但是,获取默认值0的枚举值似乎应该仔细考虑.

在错误代码枚举的情况下,我可以想到两个特殊值:无(对于没有错误的情况)和未知(对于没有现有错误代码的情况,或者甚至当错误状态不能被发现).

其中一个值似乎应该为0,其他值可能会得到其他类似-1的值.将None值设置为0或将Unknown值设置为0更合适吗?

public enum ErrorCode
{
    None = -1,
    Unknown = 0,
    InsufficientPermissions,
    ConnectivityError,
    ...
}

public enum ErrorCode
{
    Unknown = -1,
    None = 0,
    InsufficientPermissions,
    ConnectivityError,
    ...
}
Run Code Online (Sandbox Code Playgroud)

我的直觉告诉我默认应该是未知,但我很好奇是否有人做了不同的事情.

c# enums default-value

9
推荐指数
3
解决办法
3476
查看次数

标签 统计

enums ×2

c# ×1

c++ ×1

default-value ×1