[Flags]public enum someEnum { none,a,b,c,d,e,f,}
我如何得到我的意图(c = 4,e = 8)?什么[旗帜]意味着什么?
解决方法 您可以为枚举指定值,这是标志情况所需的:[Flags]enum MyFlags { Alpha=1,Beta=2,Gamma=4,Delta=8}
what does the [Flags] mean above?
这意味着运行时将支持对值的按位运算.它对编译器生成的值没有任何影响.例如.如果你这样做
var x = MyFlags.Alpha | MyFlags.Beta;
使用Flags属性,x.ToString()的结果是“Alpha,Beta”.没有属性,它将是3.也改变解析行为.
编辑:更新了更好的名称,并且编译器不会在非标记属性上使用按位 *** 作,至少不是C#3或4(对我来说是新闻).
总结以上是内存溢出为你收集整理的旗帜枚举混乱C#全部内容,希望文章能够帮你解决旗帜枚举混乱C#所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)