Enumerable in C#——内迭代与外迭代示例

昨晚家里上不了网,打开以前下的视频:what's new in csharp 3.0 ?.感叹于VS开发环境的中Code Snippet,以及 CSharp3.0 对迭代的支持。

随手仿照视频写了一个代码,用来演示CSharp3.0对迭代的支持。

  1using System;
  2using System.Collections.Generic;
  3using System.Linq;
  4using System.Text;
  5
  6namespace EnumerableTest
  7{
  8    class Customer
  9    {
 10        public string CustomerID getset; }
 11        public string ContactName getset; }
 12        public string City getset; }
 13    }

 14
 15
 16    class Program
 17    {
 18        static void Main(string[] args)
 19        {
 20            List<Customer> customers = LoadCustomers();
 21
 22            Outer Iteration
 42
 43
 44            Inner Iteration
 62
 63
 64            LINQ,对迭代的SQL Syntax式支持,我不太喜欢,还是感觉函数式编程更爽些,更直观些
 75
 76
 77            Console.ReadKey();
 78        }

 79
 80        private static void SeparatorLine()
 81        {
 82            Console.WriteLine();
 83        }

 84
 85        private static void PrintCustomer(Customer cust)
 86        {
 87            Console.WriteLine("ID:{0} Contact:{1} City:{2}", cust.CustomerID.PadRight(10), cust.ContactName.PadRight(10), cust.City);
 88        }

 89
 90        private static List<Customer> LoadCustomers()
 91        {
 92            List<Customer> customers = new List<Customer>() 
 93            
 94                new Customer(){ CustomerID="Andrew", ContactName="Anco", City="Hefei"},
 95                new Customer(){ CustomerID="Nortel", ContactName="Anco", City="Shanghai"},
 96                new Customer(){ CustomerID="Cisco", ContactName="Candy", City="Beijing"},
 97                new Customer(){ CustomerID="HP", ContactName="Peter", City="Suzhou"},
 98                new Customer(){ CustomerID="Lenovo", ContactName="Linda", City="Suzhou"}
 99            }
;
100            return customers;
101        }

102    }

103}

104

 

posted @ 2009-11-03 11:07  Jerry Chou  阅读(745)  评论(2编辑  收藏  举报