C# 按枚举将uint值强制转换为具有名称的列表
我有一个枚举C# 按枚举将uint值强制转换为具有名称的列表,c#,enums,casting,C#,Enums,Casting,我有一个枚举 enum e : uint { a = 0x00000001, b = 0x00000002, c = 0x00001000, d = 0x00002000 } 和uint v=0x00003003。 如何将0x00003003转换为字符串列表,如{'a','b','c','d'} 我试过了 Console.WriteLi
enum e : uint
{
a = 0x00000001,
b = 0x00000002,
c = 0x00001000,
d = 0x00002000
}
和uint v=0x00003003
。
如何将0x00003003转换为字符串列表,如{'a','b','c','d'}
我试过了
Console.WriteLine(Enum.ToObject(typeof(e), v));
但它不打印任何内容。我认为您必须使用位操作编写一些附加代码。我怀疑是否支持这样的操作。此外,从数值上看,此枚举似乎没有标记(位不是互斥的),因此可能存在多个组合,它们加起来可以创建相同的
uint
,因此任何此类函数都无法工作。string results=string.Join(“,Enumerable.Range(0,32)。其中(x=>((1 0))。选择(x=>((e)(1个dotNET,[Flags]
解决了问题。您能为问题创建答案吗?我会将其标记为正确答案。非常感谢!