2015年05月10日

LINQ to Objectサンプル(01): 条件に一致する要素をカウントする

   このエントリーをはてなブックマークに追加 Clip to Evernote
これからしばらくの間、LINQ to Object の簡単なサンプルコードを掲載していきます。
「LINQ to Object使えば、もうfor や foreach ループはいらない」というのは言いすぎですが、
LINQ to Objectを使うと、ちょっとしたコードは、for文や foreach文を使う必要がありません。
しばらくは、伝統的なループ処理をLINQで書き直すとどうなるかを示していきます。

もう、LINQが世に出てから、かなりの年数が経ちますので、今更感もありますが、この春からC#を始めようという人も沢山いるわけですから、 そんな LINQ初心者の方々に向けて記事をアップしていこうと思います。

第一回目は、条件に一致する要素をカウントするコードです。

■ループを使ったコード
var list = new List<int> { 9, 7, 5, 4, 2, 5, 4, 0, 4, 8, 1, 0, 4 };
int count = 0;
foreach (var n in list)
    if (n == 0)
        count++;
Console.WriteLine(count);

■LINQを使ったコード
var list = new List<int> { 9, 7, 5, 4, 2, 5, 4, 0, 4, 8, 1, 0, 4 };
int count1 = list.Count(n => n == 0);
Console.WriteLine(count1);

Countメソッドを使っています。引数に、ラムダ式使って条件を指定するだけです。 配列に対しても同じコードが書けます。

var array = new int[] { 9, 7, 5, 4, 2, 5, 4, 0, 4, 8, 1, 0, 4 };
int count2 = array.Count(n => n == 0);
Console.WriteLine(count2);




 

この記事へのトラックバックURL

http://trackback.blogsys.jp/livedoor/gushwell/52419905