『スラスラわかるC#』第10章 読書メモ

スラスラわかるC# (Beginner’s Best Guide to Programmin)

列挙子

C#における反復では、列挙可能(Enumerable)及び列挙子(Enumerator)が中心的な役割を持つ。

IEnumerableインターフェースを実装したメソッドは、foreachで反復処理することができる。IEnumeratorインターフェースは、IEnumerableを実装したオブジェクトを返す必要がある。

yield returnステートメントを使うことで、列挙子を簡単に生成することができる。yield returnステートメントは遅延評価される。

LINQ

SQLに類似したキーワードを使用して、データの反復と抽出を行える。クエリ式とメソッド形式の2種類の書き方がある。

using System;
using System.Linq;

namespace Sample
{
   class Program
    {
        static void Main(string[] args)
        {
            var data = new[] {1,2,3,4};
            var q =
                from x in data
                select x * x;
            //var q = data.Select(x => x * x); と同じ

            foreach (var result in q)
            {
                Console.WriteLine(result.ToString());
            }
        }
    }
}

コメントを残す

コメントを残す