C#转换十六进制值

1 c# hex

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

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

cta*_*cke 6

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

所以,如果你有这样的事情:

[Flags]
enum Permissions
{
  Read = 0x20000,
  Full = 0x00001
}
Run Code Online (Sandbox Code Playgroud)

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

string val = ((Permissions )myValue).ToString();
Run Code Online (Sandbox Code Playgroud)

它会出现这样的事情:

Read, Full
Run Code Online (Sandbox Code Playgroud)

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