u16suzuの blog

日々学んだことのメモブログです。

*[Cs]川俣さんの本を参考にして、ラムダ式を書いてみました。

コマンドライン引数がない場合は、正順にソートされ、
コマンドライン引数がある場合は、逆順にソートされます。

            Word[] words = { 
                           new Word( "dog", "いぬ", 0),
                           new Word( "cat", "ねこ", 44),
                           new Word( "rat", "ねずみ", 33)
                           };

            Array.Sort(words, (x, y) => (x.Score - y.Score)
 * (args.Length > 0 ? -1 : 1));            

            foreach (Word word in words)
            {
                Console.WriteLine("{0} {1} {2}"
, word.Score, word.Eng, word.Jpn);
            }

次の部分がラムダ式です。

(x, y) => (x.Score - y.Score) * (args.Length > 0 ? -1 : 1)