2017-05-08 9 views
0

をソート修正する私は、ソート機能をそれらの値は、彼らが必要とするこのC#KVPソート -

[month],[January] 
[year],[1990] 
[month],[April] 
[year],[2001] 
[month],[February] 
[year],[1991] 
[month],[February] 
[year],[1992] 
[month],[April] 
[year],[2002] 
[month],[March] 
[year],[2000] 

のように見えるかもしれませんKVP一連のこの

[month],[January] 
[month],[April] 
[month],[February] 
[month],[February] 
[month],[April] 
[month],[March] 
[year],[1990] 
[year],[2001] 
[year],[1991] 
[year],[1992] 
[year],[2002] 
[year],[2000] 

このようにソートするとされてい

indexValuesToCountOnce.Sort((x, y) => x.Value.Length.CompareTo(y.Value.Length)); 

しかし私は予測できないコードを探しています。月の列をkvpの順序ではなく、文字列の月の長さで最初に並べ替えるようです。

必要な方法でこれを並べ替える方法はありますか?

答えて

2

それはあなただけのキーのアルファベット順の並べ替えたいのようになります。問題をHaveing

list = x.OrderBy(kvp => kvp.Key).ToList(); 
+0

を、それが原因で私のリストが定義されているかのだろうか? 'code' List > indexValuesToCountOnce =新しいリスト>(); – Krom

+0

@Kromそれはうまくいくはずです。私のコードの 'x'を' indexValuesToCountOnce'に置き換え、 'list'の前に' var'を置きます。 – itsme86

+0

これにはSystem.Linqを使用する必要があります。私は信じています。 Visual Studioにはないので、参照を追加するだけではいけません。 – Krom