C# 转换十六进制值
我正在从交换邮箱读取分配的权限列表,这些值是通过 AccessFlag 属性返回的,该属性返回十六进制的 20001,看起来 2000 代表 READ 权限,1 代表 FULL 权限。
我想要做的是将该值显示为 READ & 已设置完整权限。
I am reading a list of assigned rights from an exchange mailbox, these values are returned via the AccessFlag property which returns 20001 in Hex, it looks like 2000 represents the READ permission and the 1 represents FULL permission.
What I want to do is display that value as READ & FULL permissions set.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
老实说,我不确定你在要求什么。
如果您有来自 AccessFlag 的值,并且您想查看它是否具有这些标志中的任何一个,您可以使用按位,例如,
这就是您要查找的内容吗?
To be honest I'm not sure what you're asking for.
If you have a value from the AccessFlag, and you want to see if it has either of those flag, you can use a bitwise and e.g.
Is this what you're looking for?
您可以使用按位异或运算符来过滤出所需的值并从中推断出权限集。
You could use the bitwise XOR operator to filter out the values you need and deduce the permission set from them.
如果你想要 is 作为字符串,你需要一个枚举。
因此,如果你有这样的东西:
那么你可以转换你的返回值并使用 ToString()
它将得到这样的结果:
请注意,Flags 属性对于这种类型的枚举很重要。
If you want is as a string, you need an enum.
So if you have something like this:
Then you can cast your return value and use ToString()
And it will come out something like this:
Note that the Flags attribute is important for this type of enum.