标签: flags

如何检查枚举标志是否与另一个枚举一起出现?

我有以下枚举:

[Flags]
public enum Permissions
{
    None = 0x0000,
    All = 0xFFFF
}
Run Code Online (Sandbox Code Playgroud)

如果引发None或All,则不应引发其他标志.
如何检查无或全部是否被引发而没有其他内容?

.net c# enums flags

2
推荐指数
1
解决办法
363
查看次数

检查标志"if(flag = true)"在Java中是不是真的?

我正在尝试在Java上编写一个简单的计算器程序.我的第一个计算器程序没有任何问题注册布尔标志,表示操作符为true或false(它只处理加法和减法)但是当我实现乘法和除法到布尔值时,所有内容都被注册为true,所以所有的列出了每个操作的结果.

package com.arrdude.jason;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.lang.Math;

public class RegularCalculator {

public static void main(String[] args) {

    int var1 = 0;
    int var2 = 0;
    int operator = 0;
    boolean isAdd=false, isSub=false, isMult=false, isDiv=false;


try{
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

    System.out.println ("Enter the first number");
    var1=Integer.parseInt(br.readLine());

    System.out.println ("Enter the second number");
    var2=Integer.parseInt(br.readLine());

    System.out.println ("Which function do you wish you use? Enter 1 for addition, 2 for subtraction, 3 for multiplication, 4 for division");
    operator=Integer.parseInt(br.readLine());

} …
Run Code Online (Sandbox Code Playgroud)

java flags boolean

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

C#标志解析

我写了枚举:

[Flags]
public enum BundleOS {
    Win32 = 0,
    Win64 = 1,
    Mac = 2
}
Run Code Online (Sandbox Code Playgroud)

我需要从字符串解析它,并写入字符串.字符串样本:"Win32|Win64".下一代码返回无效结果:

BundleOS os;
Boolean result = TryParse<BundleOS>("Win32|Win64", out os);
Run Code Online (Sandbox Code Playgroud)

result变量中我得到了false值.但我需要true,os价值必须BundleOS.Win32|BundleOS.Win64有价值.


如果我这样做:

String x = (BundleOS.Win32|BundleOS.Win64).ToString();
Run Code Online (Sandbox Code Playgroud)

我需要得到这样的价值:"Win32|Win64"但是我得到了"Win64".

存在这些问题的简单解决方案吗?

c# flags parsing

2
推荐指数
1
解决办法
406
查看次数

NUnit 断言枚举值包含一个标志

在使用 NUnit 为我们的 .Net (C#) 库编写一些测试时,我遇到了以下问题:我有一个具有 Flags 属性的枚举,例如

[Flags]
public enum Powers : int
{
    Undefined = 0,
    Zero = 1,
    One = 2,
    Two = 4,
}
Run Code Online (Sandbox Code Playgroud)

现在我想编写一个 NUnit 测试来检查

Powers aValue = Powers.One | Powers.Two 
Run Code Online (Sandbox Code Playgroud)

包含 Powers.Two。目前,我使用

Assert.That((aValue & Powers.Two) == Powers.Two), "something went wrong")
Run Code Online (Sandbox Code Playgroud)

但是没有更优雅的方法来做到这一点吗?谢谢你的提示。

.net flags nunit

2
推荐指数
1
解决办法
1115
查看次数

如何遍历标志的枚举并创建为每个值进行适当检查的复选框?

我有Enum一些标志代表一周的日子,有一些额外的值表示工作日,周末,每天或没有日子.

这是Enum:

[Flags]
public enum DayOfWeek : short
{
    Sunday = 1,
    Monday = 2,
    Tuesday = 4,
    Wednesday = 8,
    Thursday = 16,
    Friday = 32,
    Saturday = 64,
    Weekday = 62,
    Weekend = 65,
    Everyday = 127,
    None = 0
}
Run Code Online (Sandbox Code Playgroud)

我还有一个带有属性的View Model,DayOfWeek其类型为DayOfWeek.

在我的视图中,我需要为一周中的每一天创建一个复选框,并根据保存的日期以某种方式适当地检查框.

我怎样才能做到这一点?

c# asp.net-mvc enums flags razor

2
推荐指数
1
解决办法
4121
查看次数

zsh 可以补全命令标志吗?

有没有办法让 zsh 在命令行上完成长标志名称?

$ command --reall<tab> 
$ command --really-long-flag-name
Run Code Online (Sandbox Code Playgroud)

似乎是一件很麻烦的事情。

shell flags command-line zsh zshrc

2
推荐指数
1
解决办法
2096
查看次数

将代码与 `floor();`、`ceil();` 和 `pow();` 链接时出错

我在 GNU/Linux Debian 8.5 下编码

我有一个简单的程序。

如果我用gcc prog.c它编译它就可以了!

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <ctype.h>

int main(int argc, char const *argv[]) {

    float _f = 3.1415f;

    floor(_f);
    ceil(_f);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我添加pow(),它会说它找不到pow,我需要添加gcc prog.c -lm以使其正确。

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <ctype.h>

int main(int argc, char const *argv[]) {

    float _f = 3.1415f;

    floor(_f);
    ceil(_f);
    pow(_f, 2);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

如果我是对的,pow(), ceil(),floor()都是来自<math.h>?

那么,为什么不floor() …

c flags math.h linker-errors undefined-reference

2
推荐指数
1
解决办法
1029
查看次数

posix标志的命名约定

我正在编写一个控制台应用程序,它允许设置几个Posix标志.

这就是我目前使用的.标志中的单词用短划线连接:

  -p, --broker-port int     Broker Port (default 1883)
  -u, --broker-url string   Broker URL (default "localhost")
  -c, --client-id string    MQTT Client Id
  -r, --room string         Room where sensor is located (default "myroom")
  -f, --floor string        Floor, where room is located (default "basement")
Run Code Online (Sandbox Code Playgroud)

但是我也看到过使用CamelCase连接pflags的应用程序.

官方GNU编码标准没有规定如何在posix标志中连接单词.

什么是正确的方法?

谢谢

linux flags posix coding-style

2
推荐指数
1
解决办法
1003
查看次数

在 Elm 中优雅地处理 Flags 中丢失的键

我的应用程序通过标志从 localstorage 获取初始化模型值。我向模型添加了一个新键,它在启动 Elm 应用程序时导致错误,因为通过标志传递的值中缺少键(“bar”)。考虑到将来可以添加更多新键,并且我不想每次发生时都必须清除 localstorage,有没有办法告诉 Elm 在标志中缺少键时分配默认值?

type alias Model =
    { foo : String, bar : Int }

update : msg -> Model -> ( Model, Cmd msg )
update _ model =
    model ! []

view : Model -> Html msg
view model =
    text <| toString model

main : Program Flags Model msg
main =
    Html.programWithFlags
        { init = init
        , update = update
        , view = view
        , subscriptions = always Sub.none
        }
Run Code Online (Sandbox Code Playgroud)

HTML代码

<body> …
Run Code Online (Sandbox Code Playgroud)

flags decoder elm

2
推荐指数
1
解决办法
617
查看次数

如何通过AND操作获得SF = 1?

是否可以使用这些指令获得等于1的符号标志?

movzx ecx, byte ptr[eax]
and ecx, 8000000Fh
jns short loc_401073
Run Code Online (Sandbox Code Playgroud)

寄存器和8000000Fh and之间有一个ecx.In ecx可以是00h-FFh范围内的数字,但我不确定是否可以得到SF = 1.有人能帮助我吗?

x86 assembly flags disassembly

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