对于这个问题的模糊性质表示歉意,在这种情况下,我从未正式教过编程,而Google对像我这样的自助人来说是没有用的,因为关键词非常模棱两可。

我正在编写一些编码和将选项列表编码为长时间的功能,以便可以轻松地通过应用程序传递,您知道这种事情:

1-苹果
2-橙色
4-香蕉
8-李子
等等

在这种情况下,编号11代表苹果,橙色和李子。

我已经有效了,但是我一直都在使用它,因此假设该技术有一个通用名称,毫无疑问,目前无法触及的各种最佳实践和聪明的算法。

编辑:感谢所有人,我知道答案会迅速出现:)

有帮助吗?

解决方案

位标志。这是一种用作位策略的一部分的技术。

0001-苹果
0010- Oranage
0100-香蕉
1000-李子

每个1是标记的位。

现在,您可以使用这些数字轻松执行位置操作:

if((11 & Apple) == Apple) // The Apple Flag is set
{
    // Do Something
}

其他提示

Bitflags

         

在C#的帮助下 标志属性 我要去一些字段或一组标志

相关,在硬件中也有 一壁编码 虽然这意味着您没有得到旗帜的组合

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top