标签: flags

[Flags]枚举属性在C#中意味着什么?

我不时会看到如下的枚举:

[Flags]
public enum Options 
{
    None    = 0,
    Option1 = 1,
    Option2 = 2,
    Option3 = 4,
    Option4 = 8
}
Run Code Online (Sandbox Code Playgroud)

我不明白[Flags]-attribute 到底是做什么的.

任何人都可以发布一个很好的解释或示例?

c# enums flags

1383
推荐指数
12
解决办法
46万
查看次数

用g ++编译C++ 11

我正在尝试将我的C++编译器更新为C++ 11.我已经搜索了一下,我得出的结论是我必须使用旗帜,-std=c++0x或者-std=gnu++0x我不知道很多关于旗帜的事情.谁能帮我?(我正在使用Ubuntu 12.04.)

这是我尝试使用C++ 11中包含的库(即数组)时从编译器获得的错误:

#include <array>
#include <iostream>

int main()
{
    std::array<int, 3> arr = {2, 3, 5};
    ...
}
Run Code Online (Sandbox Code Playgroud)

此文件需要编译器和库支持即将推出的ISO C++标准C++ 0x.此支持目前是实验性的,必须使用-std = c ++ 0x或-std = gnu ++ 0x编译器选项启用.

c++ flags g++ c++11

349
推荐指数
6
解决办法
69万
查看次数

枚举上最常见的C#按位操作

对于我的生活,我不记得如何设置,删除,切换或测试位域中的位.要么我不确定,要么混淆它们,因为我很少需要这些.因此,"比特作弊表"会很好.

例如:

flags = flags | FlagsEnum.Bit4;  // Set bit 4.
Run Code Online (Sandbox Code Playgroud)

要么

if ((flags & FlagsEnum.Bit4)) == FlagsEnum.Bit4) // Is there a less verbose way?
Run Code Online (Sandbox Code Playgroud)

您能举例说明所有其他常见操作,最好是使用[Flags]枚举的C#语法吗?

.net c# enums flags bit-manipulation

197
推荐指数
9
解决办法
16万
查看次数

如何检查是否设置了标志组合的标志?

假设我有这个枚举:

[Flags]
enum Letters
{
     A = 1,
     B = 2,
     C = 4,
     AB = A | B,
     All = A | B | C,
}
Run Code Online (Sandbox Code Playgroud)

要检查是否AB已设置,我可以这样做:

if((letter & Letters.AB) == Letters.AB)
Run Code Online (Sandbox Code Playgroud)

有没有更简单的方法来检查组合标志常量的任何标志是否设置为以下?

if((letter & Letters.A) == Letters.A || (letter & Letters.B) == Letters.B)
Run Code Online (Sandbox Code Playgroud)

你可以换&一些东西吗?

对于像这样的二进制文件来说不太稳定......

c# enums flags

165
推荐指数
11
解决办法
14万
查看次数

为什么枚举权限通常有0,1,2,4值?

为什么人们总是使用enum值0, 1, 2, 4, 8而不是0, 1, 2, 3, 4

这与位操作等有关吗?

我真的很感激有关如何正确使用它的小样本片段:)

[Flags]
public enum Permissions
{
    None   = 0,
    Read   = 1,
    Write  = 2,
    Delete = 4
}
Run Code Online (Sandbox Code Playgroud)

c# permissions enums flags

157
推荐指数
5
解决办法
2万
查看次数

如何比较C#中的标志?

我下面有一个标志枚举.

[Flags]
public enum FlagTest
{
    None = 0x0,
    Flag1 = 0x1,
    Flag2 = 0x2,
    Flag3 = 0x4
}
Run Code Online (Sandbox Code Playgroud)

我无法将if语句评估为true.

FlagTest testItem = FlagTest.Flag1 | FlagTest.Flag2;

if (testItem == FlagTest.Flag1)
{
    // Do something,
    // however This is never true.
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

.net c# enums flags attributes

149
推荐指数
9
解决办法
8万
查看次数

具有多个条件的Bash if语句会引发错误

我正在尝试编写一个将检查两个错误标志的脚本,并且如果一个标志(或两者)被更改,它将回显 - 发生错误.我的剧本:

my_error_flag=0
my_error_flag_o=0
do something.....
if [[ "$my_error_flag"=="1" || "$my_error_flag_o"=="2" ] || [ "$my_error_flag"="1" &&     "$my_error_flag_o"="2" ]]; then
    echo "$my_error_flag"
else
    echo "no flag"
fi
Run Code Online (Sandbox Code Playgroud)

基本上,它应该是,以下内容:

if ((a=1 or b=2) or (a=1 and b=2))
  then
     display error
else
     no error
fi
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

 line 26: conditional binary operator expected
 line 26: syntax error near `]'
 line 26: `if [[ "$my_error_flag"=="1" || "$my_error_flag_o"=="2" ] || [ "$my_error_flag"="1" && "$my_error_flag_o"="2" ]]; then'
Run Code Online (Sandbox Code Playgroud)

我的括号搞砸了吗?

bash flags if-statement

147
推荐指数
3
解决办法
50万
查看次数

如何删除C中的标志?

有一个变量,它包含一些标志,我想删除其中一个.但我不知道如何删除它.

这是我如何设置标志.

my.emask |= ENABLE_SHOOT;
Run Code Online (Sandbox Code Playgroud)

c flags bit-manipulation

142
推荐指数
3
解决办法
8万
查看次数

Perl标志-pe,-pi,-p,-w,-d,-i,-t?

我已经看到了许多使用不同标志运行Perl代码或脚本的方法.但是,当我尝试google每个标志的含义时,我主要将结果发送到通用Perl网站,并且没有关于标志或其使用的具体信息.

以下是我经常遇到的旗帜,我不知道它们的含义:

  • perl -pe
  • perl -pi
  • perl -p
  • perl -w
  • perl -d
  • perl -i
  • perl -t

如果你告诉我每个人的意思和一些用例,或者至少告诉我找出其含义的方法,我将非常感激.

perl flags command-line

102
推荐指数
4
解决办法
6万
查看次数

打印所有JVM标志

找到一个有趣的JVM标志:

java -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version
Run Code Online (Sandbox Code Playgroud)

它打印了数百种不同的选项,我以前从未听说过.它还会打印默认值,这有助于更好地诊断JVM行为.另一个有趣的标志是:

-XX:+UnlockExperimentalVMOptions
Run Code Online (Sandbox Code Playgroud)

有谁知道任何解释其中每一个的文件?

java printing optimization flags jvm

88
推荐指数
2
解决办法
5万
查看次数