- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个枚举来表示两种状态,我想创建组合。今天早上读了一些书后,我发现了 flags 属性。我知道如果你每次都增加 2 的幂,那么二进制值只设置了一位,所以组合是可能的。
<Flags()> _
Public Enum TaskStatus
Incomplete = 1
Complete = 2
End Enum
1 = 0000001
2 = 0000010
所以 1+2 的组合将是 0000011
然后我想构建一个数据库参数来指示选择了哪些状态(如果有的话)。最好的方法是什么?我猜我不能只将二进制文件发送到我的 sp,但我不确定。
我也不明白如果枚举中的值超过 7 个,标志将如何工作?
最佳答案
为什么有 7 个值?标准整数的长度为 32 位。您可以对 64 位使用 long。如果它是 64 位应用程序,您可以有 128 位长。如果您不关心数据库内部的可读性,则没有理由不能将值作为 int 或 bigint 存储在数据库中。
此外,如果您用 HEX 表示您的值,将更容易保持 2 的幂:
Value1 = 0x1
Value2 = 0x2
Value3 = 0x4
Value4 = 0x8
Value5 = 0x10
Value6 = 0x20
要将每个值单独插入到数据库中,您将为数据库中的每个标志创建一个整数字段,然后在插入时执行以下操作:
flag1 = (int)flagEnumValue & (int) flagEnum.Value1
flag2 = (int)flagEnumValue & (int) flagEnum.Value2
这是一个按位与,你可以阅读关于 here 的内容
关于.net - 挣扎于枚举标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22863220/
我正在尝试创建一个函数来从一个文件中读取摩尔斯电码,将其转换为英文文本,将转换后的文本打印到终端,并将其写入输出文件。这是一个粗略的开始...... #define TOTAL_MORSE 91 #d
好吧,我不知道我做错了什么,我正在尝试在勾选复选框时修改 css。 这是 HTML 代码: PHP: if( isset($_POST['com']) && isset($_POST['check
我是一个 C 语言新手,正在努力解决作业中的 C 语言问题。我需要创建一个简单的程序,将结构类型写入文件,然后读取文件以恢复先前插入的数据。我让这两个部分工作。 还有另一个功能是必需的,它基本上要求用
我有以下代码: window.open("https://www.google.com", menubar=0, true); window.open("https://www.google.com
解决方案:对于以后看到这个的人来说,我使用的解决方案确实是viewDidLayoutSubviews。解决方案实际上相当复杂——每次页面需要重新布局时,我都必须计算几个缩放值并动态调整 Art Vie
我有一个看起来像这样的模型: public class SampleModel { public static SampleModel Create() { retur
我目前正在尝试通过 USB 发送 float 。PC 有一个运行以下代码的 Qt 应用程序 float x = 2.0; memcpy(buffer.data() + 14, &x, sizeof
我正在将一个巨大的 csv (18GB) 加载到内存中,并注意到 R 和 Python 之间存在很大差异。这是在 AWS ec2 r4.8xlarge which has 244 Gb of memo
我是一名优秀的程序员,十分优秀!