追加して列挙できるジェネリック コレクション クラスが必要です。からICollection<T>
継承するIEnumerable<T>
ため、クラスは実際には から継承するだけで済みますICollection<T>
。ICollection<T>
BCLに CollectionBase のジェネリック バージョンのように継承する単純なジェネリック クラスはありますか? そうでない場合、どのクラスが最も近いですか?
私List<T>
が使用しているものはどれだと思いますが、シーケンシャルな側面は必要ありません。より良いものはありますか (つまり、[メモリ フットプリントが小さい/アクセスが高速である/よりシンプル] という意味です)。バッグがあれば完璧です。
編集 1:私の特定の例では、.concat
別の IEnumerable にアクセスし、クエリを実行してから、結果を表示しています (順不同)。私は自分のクラスを作ろうとしていません。何度も使い捨てコレクションを作成する必要があったので、使用するのに最適な使い捨てを見つけることが役立つと思いました。私は何度も似たようなことをしたと感じているので、この質問はできるだけ一般的なものにしておくべきだと感じました (しゃれた意図はありません)。
編集 2:皆さんの回答に感謝します。@BlueRaja が指摘したように、どの単純なクラスでもほぼ同じオーバーヘッドが発生するため、元の使用方法に固執すると思いますList<T>
。どれもほぼ同じなので、「入力しやすい」「もういちいち持ち込まなくていい」などのバカバカしい理由も悪くない。