アットウィキロゴ

IEnumerableとIEnumerator

  • IEnumerable
    • GetEnumeratorメソッドを実装:IEnumeratorを返す。
  • IEnumerator
    • Current
    • MoveNext
    • Reset
  • 便利そう
     var people = new[] {
       new Person { Id = 1, Name = "太郎", Age = 25},
       new Person { Id = 2, Name = "次郎", Age = 22},
       new Person { Id = 3, Name = "三郎", Age = 20},
       new Person { Id = 4, Name = "四朗", Age = 17},
     };

     IEnumerable source = people;

     // 型推論に任せる
     foreach (var item in source)
     {
       // itemはObject型になるので、型変換が必要
       var person = item as Person;
       Console.WriteLine("{0}, {1}, {2}", person.Id, person.Name, person.Age);
     }

     Console.WriteLine();
     var UserNameArray = new[] {
                  new { Name = "test00", Age = 22},
                  new { Name = "test01", Age = 23}
           };
    IEnumerable<string> source = UserNameArray.Select(n => n.Name);
    foreach (var s in source)
    {             
        Console.WriteLine(s);
    }
最終更新:2015年02月07日 17:22