c# – 枚举0值不一致
示例代码:
public enum Foods { Burger,Pizza,Cake } private void button1_Click(object sender,EventArgs e) { Eat(0); // A Eat((Foods)0); // B //Eat(1); // C : won't compile : cannot convert from 'int' to 'Foods' Eat((Foods)1); // D } private void Eat(Foods food) { MessageBox.Show("eating : " + food); } C行的代码不会编译,但是A行编译很好. 解决方法
是的,文字0可隐式转换为任何枚举类型,并表示该类型的默认值.根据C#语言规范,特别是关于枚举的1.10节:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |