标签: flags

比较C#中的枚举标志

我需要检测是否在枚举值中设置了一个标志,哪个类型用Flag属性标记.

通常它是这样的:

(value & flag) == flag
Run Code Online (Sandbox Code Playgroud)

但是因为我需要通用泛型(有时在运行时我的事件只有一个"Enum"引用.我找不到一个简单的方法来使用&运算符.目前我这样做:

    public static bool IsSet<T>(this T value, T flags) where T : Enum
    { 
        Type numberType = Enum.GetUnderlyingType(typeof(T));

        if (numberType.Equals(typeof(int)))
        {
            return BoxUnbox<int>(value, flags, (a, b) => (a & b) == b);
        }
        else if (numberType.Equals(typeof(sbyte)))
        {
            return BoxUnbox<sbyte>(value, flags, (a, b) => (a & b) == b);
        }
        else if (numberType.Equals(typeof(byte)))
        {
            return BoxUnbox<byte>(value, flags, (a, b) => (a & b) == b);
        }
        else if (numberType.Equals(typeof(short)))
        {
            return BoxUnbox<short>(value, flags, (a, …
Run Code Online (Sandbox Code Playgroud)

c# generics enums flags casting

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

如何确定Enum值是否具有与之比较的一个或多个值?

我有一个标有[Flags]属性的Enum,如下所示:

[Flags]
public enum Tag : int
{
    None = 0,
    PrimaryNav = 1,
    HideChildPages = 2,
    HomePage = 4,
    FooterLink = 8
}
Run Code Online (Sandbox Code Playgroud)

在我的站点地图中的站点地图节点上,我将标签组合的int值存储为属性.

我需要做的是检查一个节点是否有一个或多个标签中的任何一个,例如Tag.PrimaryNav | Tag.HomePage.

我正在努力使用必要的布尔逻辑来确定Enum值是否具有与其进行比较的一个或多个值.

如果不清楚,请道歉.如有必要,我可以提供更多信息.

c# enums flags

13
推荐指数
2
解决办法
7629
查看次数

为什么条件变量需要锁定(因此也需要互斥锁)

条件变量是c ++ 11的一个方面我还在苦苦挣扎.从我收集到的条件变量非常类似于信号量.

但话说回来,信号量不需要锁定才能运行.条件变量可以.而锁又需要一个互斥锁.因此,为了使用信号量的相当简单的功能,我们现在不仅需要管理条件变量.但也是一个互斥锁和一个锁.

那么为什么条件变量需要这个呢?通过添加此要求可以提供哪些附加功能?

c++ concurrency flags multithreading c++11

13
推荐指数
2
解决办法
2900
查看次数

标志如何在C中起作用?

最近我在C和C++中遇到了几个"标志"的例子,我不太明白它们是如何工作的.在查看了一些源代码后,我注意到通常标志值以十六进制定义,如下所示:

FLAG1 = 0x00000001,
FLAG2 = 0x00000010,
Run Code Online (Sandbox Code Playgroud)

我的直觉表明这些价值正在被合并.通过将所有标志值组合到一个int中,标志是否有效?如果我使用了这两个,FLAG1 | FLAG2结果会是0x00000011什么?

我是否需要创建具有位偏移的枚举,或者我可以使用升序整数如下:

FLAG1 = 1;
FLAG2 = 2;
Run Code Online (Sandbox Code Playgroud)

c c++ flags integer

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

Android:WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON问题

我使用以下代码来保持屏幕:

this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
Run Code Online (Sandbox Code Playgroud)

有没有办法FLAG_KEEP_SCREEN_ON在代码中禁用/删除后面的代码?(我希望屏幕正常淡出).

谢谢!

flags android

12
推荐指数
1
解决办法
3万
查看次数

为什么Java使用-D来表示系统属性?

为什么标志指示Java中的System属性-D?当然这个字母选择有一些语义,但我猜不出它是什么.

java flags language-design semantics

12
推荐指数
1
解决办法
735
查看次数

Parcelable中的标志有什么用?

我一直在编写Parcelables而Parcel没有关注flags字段,这是方法签名中的一个参数,它工作正常,但我遇到了一个我不能再忽略它们的实现:

public static <K extends Parcelable, V extends Parcelable> void write(Parcel dest,
                                                    Map<K, V> map, int flags) {
        if (map == null) {
            dest.writeInt(-1);
        } else {
            Set<Map.Entry<K, V>> entrySet = map.entrySet();
            dest.writeInt(entrySet.size());
            for (Map.Entry<K, V> entry : entrySet) {
                dest.writeParcelable(entry.getKey(), flags);
                dest.writeParcelable(entry.getValue(), flags);
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

这是一个Map 向/从 Parcelable程序我已经写了,我想知道如果标志应传递,因为它是两个关键还有价值,而写他们还是应该通过0 flags.

我阅读了文档中标志的定义:

PARCELABLE_WRITE_RETURN_VALUE

在API级别1中添加

int PARCELABLE_WRITE_RETURN_VALUE
Run Code Online (Sandbox Code Playgroud)

用于的标志writeToParcel(Parcel, int):正在写入的对象是返回值,它是诸如"Parcelable someFunction()", …

flags android parcel parcelable

12
推荐指数
2
解决办法
4038
查看次数

如何在没有外部标志的情况下只在循环内运行一次代码?

我想检查一个循环内的条件,并在第一次遇到时执行一段代码.之后,循环可能会重复,但应忽略该块.那有什么模式吗?当然,在循环之外声明一个标志很容易.但是我对一种完全存在于循环中的方法感兴趣.

这个例子不是我想要的.有没有办法摆脱循环之外的定义?

bool flag = true;
for (;;) {
    if (someCondition() && flag) {
        // code that runs only once
        flag = false;
    }        
    // code that runs every time
}
Run Code Online (Sandbox Code Playgroud)

c++ flags loops design-patterns control-flow

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

如何通过 HTML 查看 Windows 10 上的国家标志?

是否有解决方法可以通过 HTML 在 Windows 10 上显示国旗表情符号?

<!DOCTYPE html>
  <html>
    <style>
      body {
        font-size: 40px;
      }
    </style>
    <body>
      <p>9983 will display &#9983;</p>
      <p>How to display American or Japanese flags?</p>
      <p> is just letters on Windows 10 &#128531;</p>
    </body>
  </html>
Run Code Online (Sandbox Code Playgroud)

我在https://mdbootstrap.com/docs/jquery/content/flag/上找到了这个

我在https://www.w3schools.com/charsets/ref_emoji.asp上没有看到旗帜表情符号

我可以在https://www.emojicopy.com/上查看它们,但无法使用。

我在https://github.com/pixelastic/css-flags/blob/master/app/styles/_flags/usa.scss上找到了一个 CSS 标志

我仍在学习使用 stackOverflow,并且我是编码新手。这是我第四次尝试回答这个问题。

html windows country flags emoji

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

bash 中的各种标志

我多次看到诸如if [-n ${Parameter}]或 之类的标志echo -n <string>。有时,我见过类似的旗帜-r和其他旗帜。但是,我不知道如何在网络上搜索这些标志的含义。有人可以给我发送一些链接,让我可以理解它们的含义,或者一些关于我应该如何在谷歌上搜索它们的一般说明吗?谢谢!

bash flags

11
推荐指数
1
解决办法
3万
查看次数