xiacy

导航

1.2.1 数据的过滤

C# 1.0 测试循环和打印

ArrayList products = Product1.GetSampleProducts();
foreach (Product1 product in products)
{
   if (product.Price > 10m)
     Console.WriteLine(product);
}

C# 2.0 测试和打印分开进行

List<Product2> products = Product2.GetSampleProducts();
Predicate<Product2> test = delegate(Product2 p) { return p.Price > 10m; };
List<Product2> matches = products.FindAll(test);

Action<Product2> print = Console.WriteLine;
matches.ForEach(print);

 

C# 2.0 测试和打印分开进行的另一个版本

List<Product2> products = Product2.GetSampleProducts();
products.FindAll(delegate(Product2 p) { return p.Price > 10m; }).ForEach(Console.WriteLine);

 

C# 3.0 用Lambda表达式来测试

List<Product3> products = Product3.GetSampleProduct();
foreach (Product3 product in products.Where(p => p.Price > 10))
{
        Console.WriteLine(product);
}

 

posted on 2012-04-24 22:27  xiacy  阅读(252)  评论(0编辑  收藏  举报