在.NET System.TypeCode
枚举中,值如下:
public enum TypeCode {
...
Double=14,
Decimal=15,
DateTime=16,
String=18,
}
字符串等于18 ..为什么不是17?逻辑在哪里?
答案 0 :(得分:8)
您可以按任何顺序为枚举元素指定任意数字(在您的情况下为整数)。如果未明确指定值,则默认情况下,第一个值将为0
。未明确赋值的所有其他值将使前一个元素的值增加1:
public enum TypeCode
{
Double = 42,
Decimal, // 43
DateTime = 0,
String = 18
}
<强>更新强>
为什么System.TypeCode
缺少值17
- 因为曾经有TimeSpan
类型,但it was removed。