0

c# 中有什么方法可以确保枚举常量映射到唯一的整数值。

public enum Color
{
None =0,
red = 1,
blue= 2,
white = 3
}

在这里,如果我确实将“白色从 3 更改为 2”的数值,我应该得到编译错误。

在我的项目中,我将 DB 中的枚举整数值保存为常量。我需要一个枚举约束,就像有人在枚举中添加一个新常量(例如黑色)。用户必须提供具有枚举常量的唯一数值。

谢谢

4

1 回答 1

3

最好不要在enum定义中明确设置值。在定义中添加注释,enum告诉任何添加它的人,以确保他们只添加到末尾。

例如:

public enum Color
{
    None,
    red,
    blue,
    white,
    // **NEW ENTRIES MUST ONLY BE ADDED AT THE END OF THE ENUM**
}

或者使用内置Color结构及其ToArgb( )方法。或者确实是KnownColor枚举。

于 2012-05-09T08:49:39.520 回答