2014年6月1日日曜日

foreachをselectメソッドでカウント - C#ショートプログラミング -


OLD
class Program
    {
        static void Main()
        {
            string[] a = { "タロウ", "ハナコ", "ジロウ" };
            int count = 1;
            foreach (var n in a)
            {
                System.Diagnostics.Debug.WriteLine(n + "さんは" + (count) + "位");
                count++;

            }
        }
    }

NEW
class Program
    {
        //C#3.0
        static void Main()
        {
            string[] a = { "タロウ", "ハナコ", "ジロウ" };
            foreach (var n in a.Select((s, i) => new { i, s }))
            {
                System.Diagnostics.Debug.WriteLine(n.s + "さんは" + (n.i + 1) + "位");
            }
        }
    }


Result

タロウさんは1位
ハナコさんは2位
ジロウさんは3位

・読み上げるだけのcount変数を排除できる
・匿名オブジェクトを生成するので回数が多い場合オーバーヘッドになるかも

引用元:
C#ショートプログラミング





0 件のコメント:

コメントを投稿