[.NET]根据某个数值,获取Flags枚举所代表的所有值
来源:互联网 发布:windows字体打包下载 编辑:程序博客网 时间:2024/05/21 10:35
public static IEnumerable<T> GetEnumValuesFromFlagsEnum<T>(Int32 value) where T : struct { T[] values = (T[])Enum.GetValues(typeof(T)); foreach (var itemValue in values) { if((value & Convert.ToInt32(itemValue)) != 0) { yield return itemValue; } } }
测试
[TestMethod] public void GetEnumValuesFromFlagsEnumTestHelper() { var foods = EnumHelper.GetEnumValuesFromFlagsEnum<Foods>(9); Assert.AreEqual(2,foods.Count()); Assert.IsTrue(foods.Contains(Foods.主食)); Assert.IsTrue(foods.Contains(Foods.菜3)); foreach (var food in foods) { Console.WriteLine(food); } } [Flags] public enum Foods { 主食=1, 菜1 = 2, 菜2 = 4, 菜3=8, 菜4 = 16 }
- [.NET]根据某个数值,获取Flags枚举所代表的所有值
- C#根据枚举的数值(Value)获取对应的Name值
- 根据枚举值获取枚举的描述
- .NET中Flags枚举的使用
- .NET中Flags枚举的使用
- AutoCAD.NET获取DxfCode所有枚举值
- 节点数值总和等于某个给定值的所有路径
- js根据name获取所有的值
- GetLastActivePopup---获取某个窗口所拥有的所有窗口中的活跃窗口的句柄
- javascript 各种数值代表的boolean值
- 获取RDLC某个单元格的数值
- Java 根据某个文件名,获取相对应的文件夹,然后取文件夹中所有文件
- 获取枚举的所有注释
- 根据枚举类型值获取改值的描述信息
- 获取长度大于某个值的所有行
- 获取Cassendra中某个ColumnFamly所有的值
- 【utils】通过枚举中的某个字段值获取枚举的EnumUtil工具类
- 下拉列表根据所选Item选中某个值
- 远程桌面剪贴板失效问题解决
- 关于error LNK2005: "char * xxx" (?xx@@3PADA) already defined in xxx
- SQL 删除总结
- Shell技术资料
- 11 csdn java 上课例题
- [.NET]根据某个数值,获取Flags枚举所代表的所有值
- 由ViewState想到的
- oracle 压缩文件导入导出
- sqlplus上下键找历史命令
- Ubuntu文件服务器的构建”
- js时间计数引擎
- 在51系列中data,idata,xdata,pdata的区别
- String 常用方法备忘
- 经营外贸网站的9个关键细节