0

ArrayList複数のString[](文字列配列)を含むがあります。

それぞれString[]にキーが含まれています。name

私がやりたいのはArrayList、の値に基づいてソートすることですname

比較できないため、使用Array.SortできませんでしString[]た。内にArrayListある値に基づいて並べ替えるにはどうすればよいですか?nameString[]

4

6 に答える 6

4

LINQの場合:

var ordered = arrayList.Cast<String[]>().OrderBy(ar => arr[0]);

List<String[]>通常は、の代わりに強い型を使用することをお勧めしますArrayListキーと言うと、一意のキーごとに文字列のリストが必要なように聞こえます。次に、aDictionary<String, String[]>が最良の選択です。

于 2012-04-19T12:15:12.473 に答える
1

を使用する必要がありますList<string[]>。それはすべてをサポートArrayListし、強く型付けされています。

を使用してList<string[]>

IEnumerable<string[]> sorted = myList.OrderBy(s => s[0]);
于 2012-04-19T12:15:17.773 に答える
0

これを試して

ArrayList arr = new ArrayList();
arr.ToArray().OrderBy(p => p);
于 2012-04-19T12:12:16.207 に答える
0

Array.Sort(Array、IComparer)を使用して、String[]でキーを検索する独自のComparerを作成して比較します。

于 2012-04-19T12:13:00.057 に答える
0

IComparerあなたは用途を作成することができます

public virtual void Sort(
    IComparer comparer
)

http://msdn.microsoft.com/en-us/library/0e743hdt.aspx

于 2012-04-19T12:13:28.030 に答える
0

Array.Sort必要なカスタム比較を実装するインターフェースを実装するデリゲートまたはクラスのいずれかに渡すことができます。いくつかの例http://bytes.com/topic/c-sharp/answers/235679-two-dimension-array-sortを参照してください。

于 2012-04-19T12:15:00.260 に答える