タグ付けされた質問 「enums」

型の要素、メンバー、または列挙子と呼ばれる名前付きの値のセットで構成されるデータ型。

15
列挙型をSwiftのプロトコルに準拠させる方法は?
Swiftのドキュメントでは、クラス、構造体、列挙型はすべてプロトコルに準拠していると記載されており、それらがすべて準拠するようになりました。しかし、列挙型をクラスや構造体の例のように動作させることはできません。 protocol ExampleProtocol { var simpleDescription: String { get set } mutating func adjust() } class SimpleClass: ExampleProtocol { var simpleDescription: String = "A very simple class." var anotherProperty: Int = 69105 func adjust() { simpleDescription += " Now 100% adjusted." } } var a = SimpleClass() a.adjust() let aDescription …

8
System.Enumから基本整数に変換する方法は?
キャストせずに、できれば文字列を解析せずに、任意のSystem.Enum派生型を対応する整数値に変換する汎用メソッドを作成したいと思います。 たとえば、私が欲しいのはこのようなものです: // Trivial example, not actually what I'm doing. class Converter { int ToInteger(System.Enum anEnum) { (int)anEnum; } } しかし、これは機能していないようです。Resharperは、タイプ 'System.Enum'の式をタイプ 'int'にキャストできないと報告しています。 今、私はこの解決策を思いついたが、もっと効率的なものが欲しい。 class Converter { int ToInteger(System.Enum anEnum) { return int.Parse(anEnum.ToString("d")); } } 助言がありますか?

8
列挙型と一致するプロパティのC#命名規則
私は自分のステータスプロパティを列挙型として保持するクラスを実装していることがよくあります。Status列挙型とStatus型のONE Statusプロパティがあります。この名前の競合を解決するにはどうすればよいですか? public class Car { public enum Status { Off, Starting, Moving }; Status status = Status.Off; public Status Status // <===== Won't compile ===== { get { return status; } set { status = value; DoSomething(); } } } Status列挙型がさまざまなタイプに共通である場合、それをクラスの外に置いて問題を解決します。ただし、ステータスは車にのみ適用されるため、クラス外で列挙型を宣言することは意味がありません。 この場合、どの命名規則を使用しますか? 注意:この質問は、この質問の回答のコメントで部分的に議論されました。それがなかったので、メインの問題、それは多くの可視性を取得できませんでした。 編集:Filip Ekbergは、「ステータス」の特定のケースに対してIMOの優れた回避策を提案しています。それでも、Michael Preweckiの回答のように、列挙型/プロパティの名前が異なるソリューションについて読むのは興味深いでしょう。 EDIT2(2010年5月):私のお気に入りの解決策は、Chris Sの提案に従って列挙型の名前を複数形にすることです。MSのガイドラインによると、これはフラグ列挙型にのみ使用する必要があります。しかし、私はそれをますます好きになりました。現在は通常の列挙型にも使用しています。


5
JavaのEnum finalでcompareToを使用するのはなぜですか?
Javaの列挙型がComparableインターフェースを実装します。ComparableのcompareToメソッドをオーバーライドすると良かったのですが、ここではfinalとマークされています。上のデフォルトの自然な順序EnumさんがcompareToリストされているためです。 Java列挙型にこの制限がある理由を誰かが知っていますか?


7
Androidでの列挙型の使用は厳密に避けるべきですか?
Bundle以下のようなインターフェースで、キーのような関連する定数のセットを一緒に定義するために使用しました: public interface From{ String LOGIN_SCREEN = "LoginSCreen"; String NOTIFICATION = "Notification"; String WIDGET = "widget"; } これにより、関連する定数をグループ化し、静的なインポート(実装ではない)を使用してそれらを使用するより良い方法が得られます。私が知っているAndroidフレームワークはまた、のような同じように定数を使用していますToast.LENTH_LONG、View.GONE。 しかし、私はしばしばJava Enums、定数を表すためのはるかに優れた強力な方法を提供していると感じています。 しかし、での使用enumsにパフォーマンスの問題はありAndroidますか? 少し調べただけで混乱してしまいました。この質問から、 「Aint Enums Where You Only Ints Needs」がAndroidのパフォーマンスのヒントから削除されましたか?「Avoid enums」がパフォーマンスのヒントからGoogle削除されたことは明らかですが、公式のトレーニングドキュメントからメモリオーバーヘッドセクションに注意してください:「列挙型多くの場合、静的定数の2倍以上のメモリが必要です。Androidでの列挙型の使用は厳密に避けてください。」これはまだ有効ですか?(1.6以降のバージョンなど)Java 私が観察したもう1つの問題は、シリアル化して送信する必要があることenumsをintents使用しBundleて送信することです(つまりputSerializable()、プリミティブputString()メソッドに比べて高価な操作だと思いますが、enums無料で提供しています)。 誰かが同じものを表現するのに最適な方法を明確にできますかAndroid?私は厳密には使用しないでくださいenumsにAndroid?
92 java  android  enums 


1
enumをhibernateの文字列にマッピングする
私はカテゴリ休止モデルを持っています: @Entity @Table(name = "category") public class Category { @Id @GeneratedValue(strategy=GenerationType.AUTO) @Column(name = "id") private long id; @Column(name = "type") private String type; タイプ文字列フィールドがあります。また、カテゴリのタイプを表すJava列挙型も用意しています。 public enum CategoryType { INCOME, OUTCOME; } 文字列型の代わりに使用したい。SQLは、varcharパラメータで2つの異なる値(CategoryIncomeまたは)を受け入れますCategoryOutcome。カテゴリモデルクラスが列挙型変数を受け入れて、休止状態が要求するたびに何らかの方法で文字列にマッピングしたいと思います。 出来ますか?
92 java  hibernate  enums 

5
マングースで列挙型を作成して使用する方法
enumマングースで型を作成して使用しようとしています。チェックアウトしましたが、適切な結果が得られません。私はenum自分のプログラムで次のように使用しています: 私のスキーマは次のとおりです。 var RequirementSchema = new mongooseSchema({ status: { type: String, enum : ['NEW,'STATUS'], default: 'NEW' }, }) しかし、私はここで少し混乱しています。どうすればenumlikeの値をに入れることができますかJava NEW("new")。enum列挙可能な値に従ってデータベースにを保存するにはどうすればよいですか。Expressnode.jsで使用しています。

10
C#ですべての列挙値の配列を取得するにはどうすればよいですか?
可能なすべての値を表示したい列挙型があります。そのようなリストを手動で作成する代わりに、列挙型のすべての可能な値の配列またはリストを取得する方法はありますか?例:列挙型がある場合: public enum Enumnum { TypeA, TypeB, TypeC, TypeD } List<Enumnum>を含むを取得するにはどうすればよい{ TypeA, TypeB, TypeC, TypeD }ですか?
91 c#  enums 

11
プログラムで列挙型を列挙する方法は?
次のように、TypeScriptenumがあるMyEnumとします。 enum MyEnum { First, Second, Third } TypeScript 0.9.5でenum値の配列を生成するための最良の方法は何でしょうか?例: var choices: MyEnum[]; // or Array<MyEnum> choices = MyEnum.GetValues(); // plans for this? choices = EnumEx.GetValues(MyEnum); // or, how to roll my own?
91 enums  typescript 

5
Swiftで関連する値を無視して、列挙型を関連する値と比較するにはどうすればよいですか?
Swift列挙型と関連する値の同等性をテストする方法を読んだ後、次の列挙型を実装しました。 enum CardRank { case Number(Int) case Jack case Queen case King case Ace } func ==(a: CardRank, b: CardRank) -> Bool { switch (a, b) { case (.Number(let a), .Number(let b)) where a == b: return true case (.Jack, .Jack): return true case (.Queen, .Queen): return true case (.King, …

12
enumジェネリック制約がないための良い回避策を知っている人はいますか?
私がやりたいことは次のようなものです:フラグ付きの値を組み合わせた列挙型があります。 public static class EnumExtension { public static bool IsSet<T>( this T input, T matchTo ) where T:enum //the constraint I want that doesn't exist in C#3 { return (input & matchTo) != 0; } } だから私はできる: MyEnum tester = MyEnum.FlagA | MyEnum.FlagB if( tester.IsSet( MyEnum.FlagA ) ) //act on …
89 c#  .net  enums  flags 

3
Swift:スイッチケースでのオプション値に対するテスト
Swiftでは、オプションの内容に対して切り替えられる値をテストするスイッチステートメントでケースをどのように記述できますnilか?オプションが含まれている場合、ケースをスキップしますか? これが私がこれが見えるかもしれないと想像する方法です: let someValue = 5 let someOptional: Int? = nil switch someValue { case someOptional: // someOptional is non-nil, and someValue equals the unwrapped contents of someOptional default: // either, someOptional is nil, or someOptional is non-nil but someValue does not equal the unwrapped contents of someOptional } これとまったく同じように書くと、コンパイラーsomeOptionalはアンラップされていないと文句を言いますが!、最後に追加して明示的にアンラップすると、もちろん、実行時エラーが発生しsomeOptionalますnil。の?代わりに追加することは!私にはある程度の意味がありますが(オプションの連鎖の精神では)、コンパイラエラーがなくなるわけではありません(つまり、実際にはオプションのラップが解除されません)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.