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
}
分享到:
相关推荐
- 获取字符池,包含所有 ASCII 表中可用的字符,如数字、字母、符号(不包含空格、DEL 等)。 - 字符池排列顺序:数字-字母-符号(默认字母为必须,因此放在中间)。 - 根据密码长度,生成字符数组,每个元素都从...
调试格式化程序将打印二进制标志值以及标志枚举: BitFlags(0b1111, [A, B, C, D]) 。 对带有功能标志的序列化的可选支持。例子use enumflags2 :: {bitflags, make_bitflags, BitFlags};#[bitflags]#
假如有类型 Show 的定义如下合并多个值合并多个,使用 |枚举通过这个方法可以在一个变量包含多个值判断是否存在某个值一个简单方法是用 HasFlag,但是一个
这里值得注意的是,在Fire-and-Forget模式下,所有命令都会立即得到返回值,当然该值都是该返回值类型的默认值,比如操作返回类型是bool将会立即得到false,因为false = default(bool)。 标签:.net redis
Event Flags及其使用 更多资源请访问http://www.59186618.com
资源分类:Python库 所属语言:Python 资源全名:feature_flags_client-1.0.13.dev1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
go-flags - go命令行选项解析器
第一步, 先建立一个枚举表示所有的权限管理操作: 代码如下:[Flags] public enum Permissions { Insert = 1, Delete = 2, Update = 4, Query = 8 } [Flags]表示该枚举可以支持C#位运算, 而枚举的每一项值, 我们用2的n...
Unity 3D 摄像机 Clear Flags属性和Culling Mask属性用途详解
matlab开发-Flags。一些国家的国旗。
获取偏移量的布尔值 flags.get(n) //returns true or false 放 设置偏移量为bool flags.set(n,0) //sets to false flags.set(n,1) //sets to true flags.set(n,'truthy') //sets to true 上 将偏移量的位设置为...
investing-between-the-flags
前端项目-currency-flags,货币代码标志。
css-flags, 只有一个div的世界标志 CSS标志用纯CSS重新创建世界上所有的国旗,每个标志只使用一个 div 。你可以看到它生活在 https://pixelastic.github.io/css-flags/ 。这一侧项目没有真正的世界应用程序,它只是...
v8-flags, 在运行时,配置v8标志 v8-flags 运行时配置v8标志。// use-strict-violator.jsa = "I'm the trouble starter, punking instigator"module.export
用于OpenLDAP的LMDB键值存储的.NET库。 该API易于使用且速度极快。 using ( var env = new LightningEnvironment (" pathtofolder ")) { env . MaxDatabases = 2; env . Open (); using ( var tx = env . ...
emoji-flags, 返回国家代码符号符号标志 符号标志 返回国家代码符号符号标志安装$ npm install --save emoji-flags用法 var emojiFlags = 要求 ( '
用于JavaScript和TypeScript的枚举,BitFlags,BitFields,BitMask和BitArrays。 用法 BitFlags + BitField: const options = new BitFlags ( 'OPTION1' , 'OPTION2' , 'OPTION3' ) ; const configuration = ...
WPF之CheckBox组的全选设计,知识点有位运算和枚举的Flags特性
此客户端是根据我们的自动生成的。 该REST API用于自定义集成,数据导出或自动执行功能标记工作流。 不要使用此客户端库在Web或移动应用程序中包含功能标记。 要将功能标志与您的应用程序集成,请参阅LaunchDarkly....