Effective C# 3rd 読書メモ 30 ループよりもクエリ構文を使う

ループは手続き的な構文だが、LINQのクエリは宣言的な構文である。できることは同じでも、クエリ構文を使ったほうが、よりコードの意味が伝わりやすくなる。

以下のコードはループを使った例である。

public static int[] SquareArray(int size)
{
    var foo = new int[size];

    for (var i = 0; i < foo.Length; i++)
        foo[i] = i * i;

    return foo;
}

同じ処理を、LINQを使うと以下のように書くことができる。

public static int[] SquareArray(int size)
{
    return Enumerable.Range(0, size)
        .Select(n => n * n)
        .ToArray();
}

一般に、コレクションを操作するロジック(絞り込み、並び替え等)が複雑になる場合は、ループよりもLINQの方がわかりやすいコードを書くことができる。

コメントを残す

コメントを残す