これは暗黙的ですが、あなたの "myList"の宣言に言及している必要があります。 私はあなたのためにそれを書きましょう。
var myList=new List<KeyValuePair<string, int>>();
ここで、このリストの各項目は、KeyValuePair [string、int]のインスタンスであることを意味します。
今、あなたの質問にお答えください。
Sortメソッドのオーバーロードの1つは、コレクションの2つの項目を取り、整数値を返す「比較」デリゲートを受け入れます。基本的に
public delegate int Comparison<T>(T x, T y)
、何をやっていることの「のCompareTo」メソッドを使用して(あなたのケースでは、あなたが「キー」にしてもソート「値」にすることができ、ソートされている)は、2つの項目を比較して、匿名デリゲートを作成していますIComparable(stringおよびintはこのインターフェイスを実装します)。
IComparable.CompareToは、lhsが(-1)よりも小さく、より大きい(1)または(0)rhsであることを示すSortメソッドによって項目を配置するために使用される整数を返します。
FYI:C#3.0で作業している場合は、匿名の代理人は必要ありません。
myList.Sort((x, y) => x.Value.CompareTo(y.Value));
//Sort over Value
myList.Sort((x, y) => x.Key.CompareTo(y.Key));
//Sort over key
希望説明が便利です:あなたはたとえば、(more?匿名デリゲートを定義するための省略形です)
代わりに、ラムダ式を使用することができます。
+1あなたが見つけた次のスニペットに移動するのではなく、何をしているのか理解したい。 –
答えを受け入れることを忘れないでください。 –