枚举类型的变量的默认值一定是 0 !
2005-04-27 08:58 netwy 阅读(15172) 评论(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的条件?希望大家讨论
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的条件?希望大家讨论