加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用[Flags]属性定义C#枚举的多种方法?

发布时间:2020-12-15 04:20:55 所属栏目:百科 来源:网络整理
导读:我理解Enums如何在C#中工作,我得到了Flags属性带给表的内容. 我看到了这个问题,here.哪个推荐第一种味道,但没有提供任何理由/理由. 这两个定义的方式有什么不同,一个比另一个好吗?使用第一个synax代替第二个synax有什么好处?在定义Flags类型Enums时,我总是
我理解Enums如何在C#中工作,我得到了Flags属性带给表的内容.

我看到了这个问题,here.哪个推荐第一种味道,但没有提供任何理由/理由.

这两个定义的方式有什么不同,一个比另一个好吗?使用第一个synax代替第二个synax有什么好处?在定义Flags类型Enums时,我总是使用第二种风格……我一直都在做错吗?

[Serializable]
[Flags]
public enum SiteRoles
{
    User = 1 << 0,Admin = 1 << 1,Helpdesk = 1 << 2
}

那是不一样的

[Serializable]
[Flags]
public enum SiteRoles
{
    User = 1,Admin = 2,Helpdesk = 4
}

解决方法

第一个的主要优点是您不需要为每个标志计算正确的值,因为编译器会为您执行此操作.除此之外他们是一样的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读