で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. Cで、あなたが持つことができる識別子の最大量はいくらですか?
- 3. はあなたが持つことができるES2015で、だから、ES2015
- 4. 私が行うことができますWindows上でC
- 5. ソートカスタムの配列は、あなたがこのような何かを行うことができます4
- 6. どのように私はあなたがこのようにそれを行うことができます
- 7. 最も簡単な方法はあなただけでこれを行うことができ、2つのリストを交差する2つの異なるオブジェクト
- 8. 私が行うことができますC#では新-たWebServiceProxy
- 9. あなたが持つことができるオブジェクトを入力するにはどうすればよい
- 10. C++ダイナミックアレイ - なぜこれを行うことができますか?
- 11. あなたはJavaScriptでこれを行うことができ、可変
- 12. モデルなしのDjangoフォームを持つことができます
- 13. あなたがそのようなこと行うことができE3でE4
- 14. BDD(行動)のシナリオは 'Given'なしで持つことができますか?
- 15. イベントハンドラが実行されないことがありますC#
- 16. あなたはobjective-cでサブクラス化をどこまで使うことができますか?
- 17. Haangaは、あなたがこのような何かを行うことができるはずジャンゴでパラメータ
- 18. は、私たちが行うことができますES6で
- 19. C++でunique_ptrを持つ派生型を返すことができません
- 20. Cassandra:sqlのようなカラムのデフォルト値を持つことができます
- 21. C#でリストを作ることができない
- 22. あなたのような表情を持つことができますので、このようなintやcharとして
- 23. これはリストの理解やラムダで行うことができますか?
- 24. 私はC++プログラムで何lua_Stateを持つことができますか?
- 25. 2つのファイル名を持つことができますか?
- 26. あなたはこのように行うことができますどのように
- 27. は、私はこれを行うことができますC#ではコレクション
- 28. あなたが見ることができるように図
- 29. あなたが見ることができるようにタブ
- 30. あなたが見ることができるようにバンドル
私見、 'HashSet'(と 'ISet')は数学的に設定された用語で作成されました。 'UnionWith'はもっと近い言葉でした。 'Except'を除いて、明示的に' Subtract'と名づけられるべきです、数学的に言えば。 –