例如,在 C# 中,您能否在枚举类型中使用数字范围
public enum BookType
{
Novel = 1,
Journal = 2,
Reference = 3,
TextBook = 4 .. 10
}
编辑:需要这样做的原因是从数字转换为枚举类型,例如:
int iBook = 5
BookType btBook = (BookType)ibook
Debug.Print "Book " + ibook + " is a " btBook
预期的输出是:Book 5 is a TextBook
最佳答案
正如其他人所说,不,这是不可能的。如果它们是标志,则可以组合枚举值:
[Flags]
public enum BookType
{
Novel = 0,
Journal = 1 << 0,
Reference = 1 << 1,
TextBook1 = 1 << 2,
TextBook2 = 1 << 3,
TextBook3 = 1 << 4,
TextBook4 = 1 << 5,
TextBook5 = 1 << 6,
TextBooks1To5 = TextBook1 | TextBook2 | TextBook3 | TextBook4 | TextBook5
}
关于c# - 枚举可能有范围吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2778487/