C# 转换十六进制值

标签 c# hex

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

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

最佳答案

如果你想要 is 作为一个字符串,你需要一个枚举。

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

[Flags]
enum Permissions
{
  Read = 0x20000,
  Full = 0x00001
}

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

string val = ((Permissions )myValue).ToString();

结果会是这样的:

Read, Full

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

关于C# 转换十六进制值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/492005/

相关文章:

c# - 尝试在 ASP.NET MVC 应用程序中打开 db4o 数据库时,是什么导致此 DatabaseFileLockedException?

c# - 为什么 DateTime.TryParseExact() 会为这些输入字符串返回不同的时区?

hex - 如何理解 'Mifare classic 1k'的内容?

assembly - 了解汇编语言操作数形式

java - 如何将十六进制字符串转换为 Java 字符串?

c++ - C++ 中十六进制数的反转半字节

c# - 反序列化包含以 "@"开头的变量的 JSON

c# - ASP.NET 样板中的 DeleteRange 函数

c# - 发布时未填充 MVC 模型类

php - 将十六进制颜色值转换为近似颜色名称的函数?