問題タブ [enum-flags]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
252 参照

c# - Flags 列挙型と通常の列挙型の違いを見分ける方法は?

列挙型が a である[Flags] enumか、それが正規であるかを反射的にテストする方法はありますenumか?

列挙型が Flags 列挙型である場合と、Flags 列挙型でない場合とでは、アプリケーションの動作が少し異なる必要があります。

0 投票する
2 に答える
285 参照

c# - フラグ列挙型のインスタンスからセットビットのコレクションを取得するにはどうすればよいですか?

このEnumクラスには、次の便利な機能があります。

すべての列挙型インスタンスのセットビットのコレクションを取得するために、どのように似たようなものを書くことができますか?次のような署名付き:

制約が許可されていないため、キャストを機能させるのに問題があります。Enumそのため、を使用する必要がありますstruct

0 投票する
7 に答える
9288 参照

c# - HasFlags は、列挙型の None (0) 値に対して常に true を返します

これは列挙型の定義です:

次のコードでは、HasFlag メソッドが値 Animals.None に対して true を返すのはなぜでしょうか?

0 投票する
5 に答える
1316 参照

c# - 複数のリスト列挙型の値を別の列挙型に書き込む

クライアントから、各 int 値が Enum DayOfWeek の enum int 値である List を取得します。

リストには、タイム プランナーに表示される int 値 (日) のみが含まれます。

0,1,2 (日曜、月曜、火曜) などの int 値のリストを取得すると、これらの値を DayOfWeek 列挙型にどのように書き込めば、7 日間すべてまたは 1 日も機能しない一般的な方法になりますか?

土曜日のインデックスは 6 ですが、DayOfWeek 列挙型の値は 32 です。

アップデート

これは、私のニーズに合わせて変更された MarcinJuraszek の実用的なソリューション コードです。

上記のコードは、1 週間のすべての曜日を VisibleDayOfWeek 列挙型に書き込み、データベース フィールドに簡単に保存できるようになりました。

Microsoft MSDN によると、フラグ列挙型の None 値が再び 0 に設定され、残りの値は 2 の累乗になります。

0 投票する
2 に答える
357 参照

c# - カスタム UITypeEditor で OR 演算された Enum を使用する

私が作成したカスタム コントロールに、フラグ ベースの Enum であるプロパティがあります。論理的に意味のある方法で編集する独自のカスタム コントロールを作成し、独自の UITypeEditor から呼び出しました。問題は、保存しようとした値が、値が無効であることを示すフラグの組み合わせである場合に、Visual Studio がエラーを生成することです。

例:

保存したいSingleUnit | Trigger値が生成された値である場合、次のエラーが発生します。

プロパティ 'TrayMode' のコード生成に失敗しました。 エラー: 「値 '9' は、列挙型 'TrayModes' には無効です。」

0 投票する
2 に答える
604 参照

c# - 階層フラグ列挙型をどのように表現すればよいですか?

次の列挙型のセットがあります。

列挙型は、子列挙型がその親を意味する階層構造を表し、任意の数のフラグを適用できるという考え方です。

私が見ている問題は、デバッグ中にすべての子列挙型が名前または名前のセットとして表されていないことです。IE, Categories.F= "F" but Categories.F2= 16777248. 私はCategories.F2= "F, F2" または少なくとも "F2"を望んでいました

列挙型をフラグとして認識したままにするにはどうすればよいですか? 私がやろうとしていることを達成するためのより良い方法はありますか?

0 投票する
3 に答える
11800 参照

c# - C# 列挙型 - マスクに対するフラグのチェック

次の列挙フラグがあります。

これで、読み取り可能かどうかを確認する必要がある列挙型インスタンスができました。次のコードを使用する場合:

HasFlag はすべてのフラグがあるかどうかをチェックすると思うので、私の場合は常に false を返します。これを避けるためにエレガントなものが必要です:

どうすればいいですか?

0 投票する
2 に答える
1341 参照

enums - Haxe - 列挙型をフラグとして関数に送信する

コードを C# から Haxe NME に変換しようとしています。列挙型をフラグとして使用します。

そして、それを使用してください

Haxe NME でこれを行う方法がわかりませんでした。

ありがとう。

0 投票する
2 に答える
166 参照

c# - Enum フラグの予期しない結果

列挙型をフラグとして使用しています

ここでフラグを宣言します =

ここでは、列挙型を 8 バイトに変換します

そして、ここでそれらをリストに戻します

しかし、私は予期しない結果を得 Off_hook,Two_way_lockout,Phone_fault,Fuse_fault,Expander_bell_fault,_6_digit_PIN_enabledています。結果として得られます。

したがって、いくつかのフラグは正しいですが、たとえば Two_way_lockout は列挙型で宣言されていません。

私は何を間違っていますか?

0 投票する
2 に答える
173 参照

c# - C#の「|=」演算子とは何ですか?

バグの原因を調査しているときに、次のコード行に出くわしました。

C#の「|=」演算子とは何ですか?

「ステータス」は次のように定義されます。

...アクセサーとミューテーター(または「ゲッター」と「セッター」)を使用し、「状態」は次のように定義されます。