在 .NETSystem.TypeCode
枚举中,值如下:
public enum TypeCode {
...
Double=14,
Decimal=15,
DateTime=16,
String=18,
}
字符串等于 18.. 为什么不是 17?逻辑在哪里?
您可以按任何顺序将任何数字(在您的情况下为整数)分配给枚举元素。如果 value 没有明确分配,那么默认情况下第一个 value 将是0
. 所有其他未明确分配的值都会将前一个元素的值加一:
public enum TypeCode
{
Double = 42,
Decimal, // 43
DateTime = 0,
String = 18
}
更新
为什么缺少System.TypeCode
值17
- 因为曾经有TimeSpan
类型,但它被删除了。