でHashSetのためのAddRange相当があります。 別のコレクションをHashSetに追加する最も良い方法は何ですか?あなたが行うことができますリストを持つC#
答えて
HashSetの場合、名前はUnionWithです。
これは、HashSetが動作する明確な方法を示すためです。コレクションのような無作為要素のセットを安全に「追加」することはできません。一部の要素は自然に蒸発することがあります。
しかし私は、IEnumerableをのために過負荷があまりにもあります、UnionWithは "別のHashSetと合併" 後にその名を取ることだと思う:)
これは一つの方法です:
public static class Extensions
{
public static bool AddRange<T>(this HashSet<T> @this, IEnumerable<T> items)
{
bool allAdded = true;
foreach (T item in items)
{
allAdded &= @this.Add(item);
}
return allAdded;
}
}
@quetzalcoatlは返信文を逃しました...編集されました。 – RoadieRich
私はちょうど参考に気づいた:)ちょうどFYI: '?:'演算子を使用するのではなく、単純な 'added&= @ this.Add(item)'で十分で、おそらくもっと読みやすくなります。しかし、それはもちろん化粧品です。 – quetzalcoatl
@quetzalcoatl私はちょうどそれについて尋ねようとしていた、それは私にとっては早すぎる。 – RoadieRich
- 1. C#で簡単なリスト操作を行うことができません
- 2. 私が行うことができますWindows上でC
- 3. 私が行うことができますC#では新-たWebServiceProxy
- 4. モデルなしのDjangoフォームを持つことができます
- 5. あなたはJavaScriptでこれを行うことができ、可変
- 6. イベントハンドラが実行されないことがありますC#
- 7. Cassandra:sqlのようなカラムのデフォルト値を持つことができます
- 8. あなたはobjective-cでサブクラス化をどこまで使うことができますか?
- 9. 2つのファイル名を持つことができますか?
- 10. あなたのような表情を持つことができますので、このようなintやcharとして
- 11. C#リストに項目がTTLを持つ
- 12. どのように私は独立したスクロール列を持つgridviewを持つことができます
- 13. テストのためにElmでDictを作成するには?あなたが行うことができますニレでリストを作成する
- 14. は、私はこれを行うことができますC#ではコレクション
- 15. CreateWindowがウィンドウクラスを見つけることができない - C++
- 16. これは1行で行うことができます
- 17. QTPで共有チェックポイントを持つことができます
- 18. enumはJavaでセッターを持つことができますか?
- 19. protobuf-netではバイトフィールドを持つことができますか?
- 20. なぜ論理的なNOTを持つ行は、まだYESが行うことをしますか?
- 21. ipadプログラミング:objective-c:ポップオーバーの画像これを行うことができます
- 22. オーバーレイあなたがここに見ることができるように
- 23. あなたは同じ値を客観的に持つことができますか?
- 24. あなたは私が価値を持つルートをコールしようとしています見ることができるようにjqueryの
- 25. 複数のFilterAttributesを持つことができますか?
- 26. フェイスブックインスタントアーティクル用のフィードを複数持つことができます
- 27. モジュールはプロパティを持つことができますか?
- 28. 不変のJPAエンティティを持つことができますか?
- 29. Android/eclipseに#regionsを持つことができますか。
- 30. レイヤーホスティングNSViewはサブビューを持つことができますか?
私見、 'HashSet'(と 'ISet')は数学的に設定された用語で作成されました。 'UnionWith'はもっと近い言葉でした。 'Except'を除いて、明示的に' Subtract'と名づけられるべきです、数学的に言えば。 –