Linq101-Restriction

  1 using System;
  2 using System.Linq;
  3 
  4 namespace Linq101
  5 {
  6     class Restriction
  7     {
  8         /// <summary>
  9         /// This sample uses where to find all elements of an array less than 5.
 10         /// </summary>
 11         public void Linq1()
 12         {
 13             int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };
 14 
 15             var query = from n in numbers
 16                         where n < 5
 17                         select n;
 18 
 19             Console.WriteLine("Numbers < 5 :");
 20             foreach (var number in query)
 21             {
 22                 Console.WriteLine(number);
 23             }
 24         }
 25 
 26         /// <summary>
 27         /// This sample uses where to find all products that are out of stock.
 28         /// </summary>
 29         public void Linq2()
 30         {
 31             var productList = Data.GetProductList();
 32 
 33             var query = from product in productList
 34                         where product.UnitsInStock == 0
 35                         select product;
 36 
 37             Console.WriteLine("Sold out products:");
 38             foreach (var product in query)
 39             {
 40                 Console.WriteLine("{0} is sold out!", product.ProductName);
 41             }
 42         }
 43 
 44         /// <summary>
 45         /// This sample uses where to find all products that are in stock and cost more than 3.00 per unit.
 46         /// </summary>
 47         public void Linq3()
 48         {
 49             var productList = Data.GetProductList();
 50 
 51             var query = from product in productList
 52                         where product.UnitsInStock > 0 && product.UnitPrice > 3.00M
 53                         select product;
 54 
 55             Console.WriteLine("In-stock products that cost more than 3.00:");
 56             foreach (var product in query)
 57             {
 58                 Console.WriteLine("{0} is in stock and cost more than 3.00", product.ProductName);
 59             }
 60         }
 61 
 62         /// <summary>
 63         /// This sample uses where to find all customers in Washington and then uses the resulting sequence to drill down into their orders.
 64         /// </summary>
 65         public void Linq4()
 66         {
 67             var customerList = Data.GetCustomerList();
 68 
 69             var query = from customer in customerList
 70                         where customer.Region == "WA"
 71                         select customer;
 72 
 73             Console.WriteLine("Cutomers from Washington and their orders:");
 74             foreach (var customer in query)
 75             {
 76                 Console.WriteLine("Customer {0}:{1}", customer.CustomerID, customer.CompanyName);
 77                 foreach (var order in customer.Orders)
 78                 {
 79                     Console.WriteLine("    Order {0}:{1}", order.OrderID, order.OrderDate);
 80                 }
 81             }
 82         }
 83 
 84         /// <summary>
 85         /// This sample demonstrates an indexed Where clause that returns digits whose name is shorter than their value.
 86         /// </summary>
 87         public void Linq5()
 88         {
 89             string[] digits = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" };
 90 
 91             var query = digits.Where((digit, index) => digit.Length < index);
 92 
 93             Console.WriteLine("Short digits:");
 94             foreach (var digit in query)
 95             {
 96                 Console.WriteLine("The word {0} is shorter than its value.", digit);
 97             }
 98         }
99 } 100 }

 

posted @ 2014-11-27 16:28  David Huang  阅读(441)  评论(0编辑  收藏  举报