首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >C#转换十六进制值

C#转换十六进制值
EN

Stack Overflow用户
提问于 2019-03-31 23:59:49
回答 2查看 0关注 0票数 0

我正在从交换邮箱中读取已分配权限的列表,这些值通过AccessFlag属性返回,该属性以十六进制形式返回20001,看起来2000表示READ权限,1表示FULL权限。

我想要做的是将该值显示为READ&FULL权限集。

EN

回答 2

Stack Overflow用户

发布于 2019-04-01 08:35:30

如果你想要的是一个字符串,你需要一个枚举。

所以,如果你有这样的代码:

代码语言:javascript
复制
[Flags]
enum Permissions
{
  Read = 0x20000,
  Full = 0x00001
}

然后你可以转换你的返回值并使用ToString()

代码语言:javascript
复制
string val = ((Permissions )myValue).ToString();

它会出现这样的结果:

代码语言:javascript
复制
Read, Full

请注意,Flags属性对于此类枚举很重要。

票数 0
EN

Stack Overflow用户

发布于 2019-04-01 09:19:14

说实话,我不确定你要求的是什么。

如果你有一个来自AccessFlag的值,并且你想看看它是否具有这些标志中的任何一个,你可以使用按位和例如

代码语言:javascript
复制
If((accessFlag & 0x2000) != 0) // It has FULL
If((accessFlag & 0x1) != 0) // It has READ
If((accessFlag & 0x2001) != 0) // It has READ AND FULL

这是你在找什么?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100001067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档