問題タブ [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 投票する
1 に答える
191 参照

c# - 多くのWPFクラスがブール値を列挙型フラグとして保存するのはなぜですか?

WPFSystem.Windows.Controls.Controlクラスを振り返ると、次のことがわかります。

boolしたがって、MSがすべてのフラグにフィールドを使用するのではなく、ブール値を格納するためにこの方法を選択した理由を知りたいだけです。それは彼らのコーディングスタイルだけでしょうか、それともフィールドごとにスペースを節約したかっただけなのでしょうか?

0 投票する
1 に答える
869 参照

c# - 汎用列挙型フラグ パーサー

Flags Enum オブジェクトにフラグを設定したい文字列値の配列があります。私はこれらのいくつかを持っており、フラグ列挙型の型を渡すためのより一般的な方法を探していましたが、フラグ列挙型ごとにメソッドを複製する必要はありません。これは私が現在持っているものです:

Flags Enum型を使用できる一方で、同じことを行うより一般的な方法を探していました。

0 投票する
1 に答える
516 参照

c# - Java で C# からフラグを変換する

コードの一部をC#プログラムからJavaに変換しています。ここでは、次のように[Flag] 列挙型が定義されています。

そして、実行時に次のようなマスク操作を行います

私のJavaコードでは、列挙なしで同じクラスを複製しました:

しかし、私が同じ操作をしたとき

結果が違う!! Javaで同じ操作を複製するにはどうすればよいですか? 手伝って頂けますか?

0 投票する
4 に答える
8188 参照

c# - 一部の bool プロパティを flags 列挙型に変換します

3 つの bool プロパティを持つレガシー クラスをフラグ列挙型に変換する必要があります。

私は、それらの特性の少なくとも 1 つが真であることを知っています。

さらに多くのプロパティとフラグを設定するケースに遭遇する可能性があることを考慮して、これを行うためのよりエレガントまたは簡潔な方法はありますか?

0 投票する
1 に答える
1709 参照

c# - 複数の列挙値の解析 (フラグ付き): クエリ文字列からフィルター タイプを読み取る

ユーザーの情報を表形式で表示するページを作成する予定です。各列はテーブルのプロパティになります。テーブルを表示しているユーザーが、ユーザーをフィルター処理する方法を選択できるようにしたいと考えています。2 つのチェック ボックスがあります。1 つは報告されたユーザー用、もう 1 つは作成日用です。次のように UserFilter という列挙型を作成する予定です。

別のタイプを追加する必要がある場合、その値は 4 に設定されるため、ビットごとの or (3 は 1 と 2 の両方) でどの列挙型が選択されているかがわかります。私が抱えている問題は、クエリ文字列から列挙型を読み取ることです。int(なしの場合は0、日付の場合は1、レポートの場合は2、両方の場合は3)でポストバックするようなことができると思いますが、実際の文字列でポストバックしてみたいと思います。"Date|Reported" を UserFilter に存在しない列挙値に解析する方法がわかりません。

一言で言えば、列挙型に別の値を追加せずに、「Date|Reported」を値 3 に解析するクリーンな方法はありますか?

0 投票する
1 に答える
380 参照

c# - HasFlag は FlagsAttribute と連携するように設計されていると MSDN が述べているのはなぜですか?

質問[Flags] Enum 属性は C# で何を意味しますか? 私が何を求めているのか尋ねず、それに答えません。その質問にそのような答えがある場合は、無意識に誤って重複としてフラグを立てるのではなく、コメントにどれ(リンク)かを記載してください。


MSDN のHasFlagドキュメントに次のメモがあります。

HasFlag メソッドは、FlagsAttribute 属性でマークされた列挙型で使用するように設計されており、複数のビット フィールドが設定されているかどうかを判断するために使用できます。FlagsAttribute 属性でマークされていない列挙型の場合は、Equals メソッドまたは CompareTo メソッドを呼び出します。

しかし、私はそれをテストしましたが、列挙型がFlagsAttributeでマークされているかどうかにかかわらず、メソッドは正常に機能しました。

たぶん、ドキュメントのメモは、属性を使用してある種の*良い慣行*を強制する試みにすぎません(そして、それは最終的にはまったく問題ではありません)?


私はここをのぞき見しましたが、実際には、列挙型にはまったく制限がないようです (単純なビットごとの AND です):

では、実際には FlagsAttribute に依存していないのに、一体なぜ FlagsAttribute で動作するように設計されていると言っているのですか?

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

php - ステータスフラグを保存する最良の方法

次のシナリオのフラグを保存する最良の方法を探しています。

私のアプリケーションは、特定の間隔で特定の数の通知またはリマインダーをユーザーに送信する必要があります。それを行うためのバッチ ジョブを作成する予定です。リマインダーの再送信を避けるために、いくつかのフラグが必要です。

例: ユーザーがアプリケーションにログインしてから 2 日目、5 日目、10 日目にリマインダーを送信します。

リマインダーの数は、今後増減する可能性があります。フラグを格納する最善の方法を知りたい - INT として格納し、内部表現に相当するバイナリを使用するか、間隔ごとに 1 つの列を使用する方がよいでしょうか (2 日目に 1 つの TINYINT(1) など)。 1 つは 5 番目など...)

ストレージ スペースは制約ではありません。業界全体のベスト プラクティスを探しているだけです。