HashSet<string>
をC#.Net 3.5でどのように並べ替えることができますか?ハッシュセットを並べ替える.Net 3.5
答えて
あなたは、たIComparer(すなわちhttp://msdn.microsoft.com/en-us/library/bb549422.aspx)またはいくつかのラムダ(私は通常、以下のとおり、私の比較に述語を使用)を使用して比較演算をインラインで使用していずれかをOrderBy
方法を使用することができます。
リンクごとに参照してください:
class Pet
{
public string Name { get; set; }
public int Age { get; set; }
}
public static void OrderByEx1()
{
Pet[] pets = { new Pet { Name="Barley", Age=8 },
new Pet { Name="Boots", Age=4 },
new Pet { Name="Whiskers", Age=1 } };
IEnumerable<Pet> query = pets.OrderBy(pet => pet.Age);
foreach (Pet pet in query)
{
Console.WriteLine("{0} - {1}", pet.Name, pet.Age);
}
}
/*
This code produces the following output:
Whiskers - 1
Boots - 4
Barley - 8
*/
これは明らかにハッシュセット自体をソートしませんが、ハッシュセットのソートされたビューを返します。 – CodesInChaos
はい、そうです.HashSetに含まれる値はソートされませんが、ソートされたビュー(またはコピー)でアクセスできます。 – ericosg
あなたはしません。定義により、HashSet
はソートされません。
ソートされたハッシュセットが必要な場合は、SortedSet
を使用する必要があります。このメソッドが公開するメソッドは、内容をソートする機能を含めて、基本的にHashSet
によって提供されるメソッドの上位セットです。
SortedSetには、HashSetを使用するときのような固有の値は含まれていませんが、適切な拡張メソッドを使用して構造体を構築するときは、Distinct値をロードできます。 – ericosg
@ericosg私はあなたのコメントを理解していません。 – CodesInChaos
私は、SortedSetでDistinct値が必要な場合は、それらの別個のビューを取得するために.Distinct()を呼び出す必要があることを意味します。ソートされたHashSetが必要な場合は、並べ替えられたビューを取得するために.OrderBy()を呼び出す必要があります。 – ericosg
HashSetの<文字列>は、設計によってソートされません。あなたはアイテムをソートしたい場合は(HashSetの<文字列>はIEnumerableを<文字列>を実装しているため)(〜が多いではない)、あなたはのOrderBy LINQメソッドを使用することができ、一度:hs.OrderBy(S => S)。あなたは、あなたがSortedDictionaryクラスを使用することができますソートHashSetのが必要な場合は
は - ちょうどTValueジェネリックパラメータのためにいくつかのダミータイプ(すなわちブール)を使用します。
SortedSetクラスは.NET 3.5では使用できません。
- 1. 並べ替えで並べ替え
- 2. Riakでデータを並べ替え/並べ替える方法は?
- 3. ASPxPivotGridカスタム並べ替え/並べ替えを削除する
- 4. Laravel 4.2並べ替えの関係による並べ替え
- 5. VBA - ドラッグ&ドロップによる並べ替えの並べ替え
- 6. 並べ替えメソッドを持つ人物の並べ替え
- 7. プロジェクトを並べ替える
- 8. LinkedListを並べ替える
- 9. ミュージックプレーヤーを並べ替える
- 10. 並べ替えコスト
- 11. グリッドビューのカスタム並べ替え
- 12. Spark DataFrame group降順で並べ替えて並べ替え
- 13. Eclipseエクステンションポイントのエクステンションの並べ替え/並べ替え
- 14. UITableView並べ替えのような並べ替え
- 15. カスタムオーダーで並べ替える
- 16. AlphaFunで並べ替える
- 17. jQuery Sortableを使用してフォトアルバムを並べ替える(並べ替え)
- 18. Fullcalendarイベントを並べ替え
- 19. C++で別のベクトルと並べ替えてベクトルを並べ替える
- 20. 並べ替えの生成
- 21. Webアプリケーションの並べ替え
- 22. 並べ替えの問題
- 23. アルファベット順の並べ替え
- 24. JQueryドラッグ、ドロップ、並べ替え
- 25. Rマルチカラムデータの並べ替え
- 26. Riak並べ替えでMapReduce
- 27. Drupalナビゲーションメニューの並べ替え
- 28. バブル並べ替え番号
- 29. 番号の並べ替え
- 30. 距離で並べ替え
できません。 'HashSet'は定義によってソートされません。配列であるソートされたコピーを作成しますか? – svick
インプレイスまたはソートされたコピーをソートしますか? –