代码改变世界

枚举类型的变量的默认值一定是 0 !

2005-04-27 08:58  netwy  阅读(15155)  评论(12编辑  收藏  举报
例1:
enum sqltype
{
     a,
     b
}

private void test()
{
    sqltype a=new sqltype();
    MessageBox.Show(((int)a).ToString());//结果显示是 0
}

例2:
enum sqltype
{
     a=1,
     b
}

private void test()
{
    sqltype a=new sqltype();
    MessageBox.Show(((int)a).ToString());//结果显示是 0
}
枚举数可以具有重写默认值的初始值设定项,如果指定sqltype的初始值,定义一个sqltype类型的变量,而没有给他赋值该
变量的值为0。如果没有指定sqltype的初始值,定义一个sqltype类型的变量,而没有给他赋值该
变量的值也为0。有点搞不明白,希望有高人给指点一下
如果是自定义的枚举类型,并且指定了初始值不等于0,如例1,那每我可以这样应用枚举类型的变量
sqltype a=new sqltype();
if(a!=0)
   MessageBox.Show("枚举变量已赋值");
else
   MessageBox.Show("枚举变量没有赋值");
 可是如果用ms定义的枚举类型SqlDbType(初始值为0)的变量做if的条件,好像不太合适。
那么枚举类型的变量是否可以做if的条件?希望大家讨论