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

たとえば、あるコレクションから値を列挙するプロセス。


6
Java列挙メソッド-反対方向の列挙を返す
反対方向を返すメソッドを持つ列挙型Directionを宣言したいと思います(以下は構文的に正しくありません。つまり、列挙型はインスタンス化できませんが、私のポイントを示しています)。これはJavaで可能ですか? これがコードです: public enum Direction { NORTH(1), SOUTH(-1), EAST(-2), WEST(2); Direction(int code){ this.code=code; } protected int code; public int getCode() { return this.code; } static Direction getOppositeDirection(Direction d){ return new Direction(d.getCode() * -1); } }
113 java  enums  enumeration 

6
(方法)列挙型のアイテムを数えることはできますか?
このような疑問が浮かんだのは、 enum Folders {FA, FB, FC}; そして、各フォルダのコンテナの配列を作成したいと思いました: ContainerClass*m_containers[3]; .... m_containers[FA] = ...; // etc. (使い方はそれを使用するためにはるかにエレガントだマッピングされますstd::map<Folders, ContainerClass*> m_containers;) しかし、元の質問に戻ります。配列のサイズをハードコード化したくない場合、フォルダー内のアイテム数を把握する方法はありますか?(たとえばFC、リストの最後のアイテムであることに依存せずにContainerClass*m_containers[FC+1]、私が間違っていないようなものを許可します。)
98 c++  count  enumeration 

11
.NETライブラリに月の事前定義された列挙はありますか?
.netフレームワークで数か月間の公式の列挙があるかどうかを確認しようとしています。 月の使用がどれほど一般的であるか、および.netフレームワークに他のそのような列挙があるため、1つあると私には考えられます。 たとえば、月曜日、火曜日などを含むSystem.DayOfWeekの曜日の列挙があります。 1月、2月など、1か月に1つあるのかどうか疑問に思います。 誰か知っている?

8
列挙の単数形または複数形?
列挙には単数形または複数形を使用しますか?宣言の複数形が最も理にかなっていると思います enum Weekdays { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } ...しかし、タイプを使用する場合は、単数の方が理にかなっていると思います。 Weekday firstDayOfWeek = Weekday.Monday; どこかで、通常の列挙型の単数形とフラグ付きの複数形を使用するという推奨事項を読みましたが、もう少し長所と短所を聞きたいと思います。

1
enumerateObjectsUsingBlockのBOOL * stop引数とは何ですか?
enumerateObjectsUsingBlock:最近、高速列挙のニーズのために多くを使用していますが、BOOL *stop列挙ブロックでのの使用法を理解するのに苦労しています。 NSArrayクラス参照状態 stop:ブール値への参照。ブロックは値をYESに設定して、配列の以降の処理を停止できます。stop引数はアウト唯一の引数です。このブール値YESはブロック内にのみ設定する必要があります。 したがって、もちろん、ブロックに次のコードを追加して、列挙を停止できます。 if (idx == [myArray indexOfObject:[myArray lastObject]]) { *stop = YES; } 私が言うことができました何より、明示的に設定していない*stopためにYES任意の負の副作用はありません。列挙は、配列の最後で自動的に停止するようです。では*stop、ブロックで本当に使用する必要がありますか?

10
C#で列挙しながらリスト<T>からアイテムを削除するインテリジェントな方法
ループで列挙しながらコレクションからアイテムを削除しようとする典型的なケースがあります。 List&lt;int&gt; myIntCollection = new List&lt;int&gt;(); myIntCollection.Add(42); myIntCollection.Add(12); myIntCollection.Add(96); myIntCollection.Add(25); foreach (int i in myIntCollection) { if (i == 42) myIntCollection.Remove(96); // The error is here. if (i == 25) myIntCollection.Remove(42); // The error is here. } 変更が行われた後の反復の開始InvalidOperationException時に、基になるコレクションがいつ変更されるかを列挙子が気に入らないため、がスローされます。 繰り返しながらコレクションに変更を加える必要があります。これを回避するために使用できるパターンはたくさんありますが、どれも良い解決策を持っていないようです。 このループ内で削除しないでください。代わりに、メインループの後に処理する別の「リストの削除」を保持してください。 これは通常は良い解決策ですが、私の場合、アイテムを実際に削除するためのメインループがコードのロジックフローを変更するまで、アイテムを「待機中」として即座に削除する必要があります。 アイテムを削除する代わりに、アイテムにフラグを設定し、非アクティブとしてマークするだけです。次に、パターン1の機能を追加して、リストをクリーンアップします。 これは私のすべてのニーズに対応しますが、アイテムにアクセスするたびに非アクティブフラグをチェックするために、多くのコードを変更する必要があることを意味します。これは私の好みにはあまりにも多くの管理です。 どういうわけか、から派生したクラスにパターン2のアイデアを組み込みList&lt;T&gt;ます。このスーパーリストは、非アクティブフラグ、事後のオブジェクトの削除を処理し、非アクティブとしてマークされたアイテムを列挙型コンシューマーに公開しません。基本的には、パターン2(およびその後のパターン1)のすべてのアイデアをカプセル化するだけです。 このようなクラスは存在しますか?誰かがこれのためのコードを持っていますか?それとももっと良い方法はありますか? myIntCollection.ToArray()代わりにアクセスmyIntCollectionすると問題が解決し、ループ内で削除できるようになると言われています。 これは私には悪いデザインパターンのように思えますか、それとも問題ないのでしょうか? 詳細: リストには多くのアイテムが含まれ、そのうちのいくつかのみを削除します。 ループ内では、追加、削除など、あらゆる種類のプロセスを実行するため、ソリューションはかなり一般的である必要があります。 …
87 c#  list  foreach  enumeration 

9
Swiftでの列挙中に配列から削除しますか?
Swiftの配列を列挙して、特定のアイテムを削除したいと思います。これが安全かどうか、そうでない場合はどうすればこれを達成できるのか疑問に思います。 現在、私はこれをやっているでしょう: for (index, aString: String) in enumerate(array) { //Some of the strings... array.removeAtIndex(index) }

10
Javaジェネリックを使用して列挙値を反復します
ジェネリックスを使用しながら列挙型の値を反復処理する方法を見つけようとしています。これを行う方法、またはそれが可能かどうかわからない。 次のコードは、私がやりたいことを示しています。次のコードでは、コードT.values()が無効であることに注意してください。 public class Filter&lt;T&gt; { private List&lt;T&gt; availableOptions = new ArrayList&lt;T&gt;(); private T selectedOption; public Filter(T selectedOption) { this.selectedOption = selectedOption; for (T option : T.values()) { // INVALID CODE availableOptions.add(option); } } } Filterオブジェクトをインスタンス化する方法は次のとおりです。 Filter&lt;TimePeriod&gt; filter = new Filter&lt;TimePeriod&gt;(TimePeriod.ALL); 列挙型は次のように定義されます。 public enum TimePeriod { ALL("All"), FUTURE("Future"), NEXT7DAYS("Next 7 …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.