码迷,mamicode.com
首页 > 其他好文 > 详细

Linq编程101例及个人补充

时间:2014-11-27 17:50:56      阅读:270      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   ar   color   os   sp   on   

  1. Part1 - Restriction Operators

  点我下载代码

  • Program.cs
 1 using System;
 2 
 3 namespace Linq101
 4 {
 5     internal class Program
 6     {
 7         private static void Main(string[] args)
 8         {
 9             #region Restriction
10             Restriction restriction = new Restriction();
11             //restriction.Simple1();//找出小于5的数字
12             //restriction.Simple2();//找出没有库存的货物
13             //restriction.Simple3();//找出有库存,且售价大于3.00的货物
14             //restriction.Simple4();//找出在华盛顿的客户,并用结果钻取他们的订单
15             //restriction.Simple5();//找出单词长度小于其数值的数字
16             restriction.Simple5plus1();//有一个整数数组,我们找出这个数字是否跟他在这个数组的位置一样 
17             #endregion
18 
19             Console.ReadLine();
20         }
21     }
22 }

 

  • Data.cs
  1 using System;
  2 using System.Collections.Generic;
  3 using System.Linq;
  4 using System.Xml.Linq;
  5 
  6 namespace Linq101
  7 {
  8     class Data
  9     {
 10         public class Product
 11         {
 12             public int ProductID { get; set; }
 13             public string ProductName { get; set; }
 14             public string Category { get; set; }
 15             public decimal UnitPrice { get; set; }
 16             public int UnitsInStock { get; set; }
 17         }
 18 
 19         public class Order
 20         {
 21             public int OrderID { get; set; }
 22             public DateTime OrderDate { get; set; }
 23             public decimal Total { get; set; }
 24         }
 25 
 26         public class Customer
 27         {
 28             public string CustomerID { get; set; }
 29             public string CompanyName { get; set; }
 30             public string Address { get; set; }
 31             public string City { get; set; }
 32             public string Region { get; set; }
 33             public string PostalCode { get; set; }
 34             public string Country { get; set; }
 35             public string Phone { get; set; }
 36             public string Fax { get; set; }
 37             public Order[] Orders { get; set; }
 38         }
 39 
 40         private static List<Product> productList;
 41         private static List<Customer> customerList;
 42 
 43         public static List<Product> GetProductList()
 44         {
 45             if (productList == null)
 46                 CreateLists();
 47 
 48             return productList;
 49         }
 50 
 51         public static List<Customer> GetCustomerList()
 52         {
 53             if (customerList == null)
 54                 CreateLists();
 55 
 56             return customerList;
 57         }
 58 
 59         private static void CreateLists()
 60         {
 61             // Product data created in-memory using collection initializer:
 62             productList =
 63                 new List<Product> {
 64                     new Product { ProductID = 1, ProductName = "Chai", Category = "Beverages", UnitPrice = 18.0000M, UnitsInStock = 39 },
 65                     new Product { ProductID = 2, ProductName = "Chang", Category = "Beverages", UnitPrice = 19.0000M, UnitsInStock = 17 },
 66                     new Product { ProductID = 3, ProductName = "Aniseed Syrup", Category = "Condiments", UnitPrice = 10.0000M, UnitsInStock = 13 },
 67                     new Product { ProductID = 4, ProductName = "Chef Anton‘s Cajun Seasoning", Category = "Condiments", UnitPrice = 22.0000M, UnitsInStock = 53 },
 68                     new Product { ProductID = 5, ProductName = "Chef Anton‘s Gumbo Mix", Category = "Condiments", UnitPrice = 21.3500M, UnitsInStock = 0 },
 69                     new Product { ProductID = 6, ProductName = "Grandma‘s Boysenberry Spread", Category = "Condiments", UnitPrice = 25.0000M, UnitsInStock = 120 },
 70                     new Product { ProductID = 7, ProductName = "Uncle Bob‘s Organic Dried Pears", Category = "Produce", UnitPrice = 30.0000M, UnitsInStock = 15 },
 71                     new Product { ProductID = 8, ProductName = "Northwoods Cranberry Sauce", Category = "Condiments", UnitPrice = 40.0000M, UnitsInStock = 6 },
 72                     new Product { ProductID = 9, ProductName = "Mishi Kobe Niku", Category = "Meat/Poultry", UnitPrice = 97.0000M, UnitsInStock = 29 },
 73                     new Product { ProductID = 10, ProductName = "Ikura", Category = "Seafood", UnitPrice = 31.0000M, UnitsInStock = 31 },
 74                     new Product { ProductID = 11, ProductName = "Queso Cabrales", Category = "Dairy Products", UnitPrice = 21.0000M, UnitsInStock = 22 },
 75                     new Product { ProductID = 12, ProductName = "Queso Manchego La Pastora", Category = "Dairy Products", UnitPrice = 38.0000M, UnitsInStock = 86 },
 76                     new Product { ProductID = 13, ProductName = "Konbu", Category = "Seafood", UnitPrice = 6.0000M, UnitsInStock = 24 },
 77                     new Product { ProductID = 14, ProductName = "Tofu", Category = "Produce", UnitPrice = 23.2500M, UnitsInStock = 35 },
 78                     new Product { ProductID = 15, ProductName = "Genen Shouyu", Category = "Condiments", UnitPrice = 15.5000M, UnitsInStock = 39 },
 79                     new Product { ProductID = 16, ProductName = "Pavlova", Category = "Confections", UnitPrice = 17.4500M, UnitsInStock = 29 },
 80                     new Product { ProductID = 17, ProductName = "Alice Mutton", Category = "Meat/Poultry", UnitPrice = 39.0000M, UnitsInStock = 0 },
 81                     new Product { ProductID = 18, ProductName = "Carnarvon Tigers", Category = "Seafood", UnitPrice = 62.5000M, UnitsInStock = 42 },
 82                     new Product { ProductID = 19, ProductName = "Teatime Chocolate Biscuits", Category = "Confections", UnitPrice = 9.2000M, UnitsInStock = 25 },
 83                     new Product { ProductID = 20, ProductName = "Sir Rodney‘s Marmalade", Category = "Confections", UnitPrice = 81.0000M, UnitsInStock = 40 },
 84                     new Product { ProductID = 21, ProductName = "Sir Rodney‘s Scones", Category = "Confections", UnitPrice = 10.0000M, UnitsInStock = 3 },
 85                     new Product { ProductID = 22, ProductName = "Gustaf‘s Knäckebröd", Category = "Grains/Cereals", UnitPrice = 21.0000M, UnitsInStock = 104 },
 86                     new Product { ProductID = 23, ProductName = "Tunnbröd", Category = "Grains/Cereals", UnitPrice = 9.0000M, UnitsInStock = 61 },
 87                     new Product { ProductID = 24, ProductName = "Guaraná Fantástica", Category = "Beverages", UnitPrice = 4.5000M, UnitsInStock = 20 },
 88                     new Product { ProductID = 25, ProductName = "NuNuCa Nuß-Nougat-Creme", Category = "Confections", UnitPrice = 14.0000M, UnitsInStock = 76 },
 89                     new Product { ProductID = 26, ProductName = "Gumbär Gummibärchen", Category = "Confections", UnitPrice = 31.2300M, UnitsInStock = 15 },
 90                     new Product { ProductID = 27, ProductName = "Schoggi Schokolade", Category = "Confections", UnitPrice = 43.9000M, UnitsInStock = 49 },
 91                     new Product { ProductID = 28, ProductName = "Rössle Sauerkraut", Category = "Produce", UnitPrice = 45.6000M, UnitsInStock = 26 },
 92                     new Product { ProductID = 29, ProductName = "Thüringer Rostbratwurst", Category = "Meat/Poultry", UnitPrice = 123.7900M, UnitsInStock = 0 },
 93                     new Product { ProductID = 30, ProductName = "Nord-Ost Matjeshering", Category = "Seafood", UnitPrice = 25.8900M, UnitsInStock = 10 },
 94                     new Product { ProductID = 31, ProductName = "Gorgonzola Telino", Category = "Dairy Products", UnitPrice = 12.5000M, UnitsInStock = 0 },
 95                     new Product { ProductID = 32, ProductName = "Mascarpone Fabioli", Category = "Dairy Products", UnitPrice = 32.0000M, UnitsInStock = 9 },
 96                     new Product { ProductID = 33, ProductName = "Geitost", Category = "Dairy Products", UnitPrice = 2.5000M, UnitsInStock = 112 },
 97                     new Product { ProductID = 34, ProductName = "Sasquatch Ale", Category = "Beverages", UnitPrice = 14.0000M, UnitsInStock = 111 },
 98                     new Product { ProductID = 35, ProductName = "Steeleye Stout", Category = "Beverages", UnitPrice = 18.0000M, UnitsInStock = 20 },
 99                     new Product { ProductID = 36, ProductName = "Inlagd Sill", Category = "Seafood", UnitPrice = 19.0000M, UnitsInStock = 112 },
100                     new Product { ProductID = 37, ProductName = "Gravad lax", Category = "Seafood", UnitPrice = 26.0000M, UnitsInStock = 11 },
101                     new Product { ProductID = 38, ProductName = "Côte de Blaye", Category = "Beverages", UnitPrice = 263.5000M, UnitsInStock = 17 },
102                     new Product { ProductID = 39, ProductName = "Chartreuse verte", Category = "Beverages", UnitPrice = 18.0000M, UnitsInStock = 69 },
103                     new Product { ProductID = 40, ProductName = "Boston Crab Meat", Category = "Seafood", UnitPrice = 18.4000M, UnitsInStock = 123 },
104                     new Product { ProductID = 41, ProductName = "Jack‘s New England Clam Chowder", Category = "Seafood", UnitPrice = 9.6500M, UnitsInStock = 85 },
105                     new Product { ProductID = 42, ProductName = "Singaporean Hokkien Fried Mee", Category = "Grains/Cereals", UnitPrice = 14.0000M, UnitsInStock = 26 },
106                     new Product { ProductID = 43, ProductName = "Ipoh Coffee", Category = "Beverages", UnitPrice = 46.0000M, UnitsInStock = 17 },
107                     new Product { ProductID = 44, ProductName = "Gula Malacca", Category = "Condiments", UnitPrice = 19.4500M, UnitsInStock = 27 },
108                     new Product { ProductID = 45, ProductName = "Rogede sild", Category = "Seafood", UnitPrice = 9.5000M, UnitsInStock = 5 },
109                     new Product { ProductID = 46, ProductName = "Spegesild", Category = "Seafood", UnitPrice = 12.0000M, UnitsInStock = 95 },
110                     new Product { ProductID = 47, ProductName = "Zaanse koeken", Category = "Confections", UnitPrice = 9.5000M, UnitsInStock = 36 },
111                     new Product { ProductID = 48, ProductName = "Chocolade", Category = "Confections", UnitPrice = 12.7500M, UnitsInStock = 15 },
112                     new Product { ProductID = 49, ProductName = "Maxilaku", Category = "Confections", UnitPrice = 20.0000M, UnitsInStock = 10 },
113                     new Product { ProductID = 50, ProductName = "Valkoinen suklaa", Category = "Confections", UnitPrice = 16.2500M, UnitsInStock = 65 },
114                     new Product { ProductID = 51, ProductName = "Manjimup Dried Apples", Category = "Produce", UnitPrice = 53.0000M, UnitsInStock = 20 },
115                     new Product { ProductID = 52, ProductName = "Filo Mix", Category = "Grains/Cereals", UnitPrice = 7.0000M, UnitsInStock = 38 },
116                     new Product { ProductID = 53, ProductName = "Perth Pasties", Category = "Meat/Poultry", UnitPrice = 32.8000M, UnitsInStock = 0 },
117                     new Product { ProductID = 54, ProductName = "Tourtière", Category = "Meat/Poultry", UnitPrice = 7.4500M, UnitsInStock = 21 },
118                     new Product { ProductID = 55, ProductName = "Pâté chinois", Category = "Meat/Poultry", UnitPrice = 24.0000M, UnitsInStock = 115 },
119                     new Product { ProductID = 56, ProductName = "Gnocchi di nonna Alice", Category = "Grains/Cereals", UnitPrice = 38.0000M, UnitsInStock = 21 },
120                     new Product { ProductID = 57, ProductName = "Ravioli Angelo", Category = "Grains/Cereals", UnitPrice = 19.5000M, UnitsInStock = 36 },
121                     new Product { ProductID = 58, ProductName = "Escargots de Bourgogne", Category = "Seafood", UnitPrice = 13.2500M, UnitsInStock = 62 },
122                     new Product { ProductID = 59, ProductName = "Raclette Courdavault", Category = "Dairy Products", UnitPrice = 55.0000M, UnitsInStock = 79 },
123                     new Product { ProductID = 60, ProductName = "Camembert Pierrot", Category = "Dairy Products", UnitPrice = 34.0000M, UnitsInStock = 19 },
124                     new Product { ProductID = 61, ProductName = "Sirop d‘érable", Category = "Condiments", UnitPrice = 28.5000M, UnitsInStock = 113 },
125                     new Product { ProductID = 62, ProductName = "Tarte au sucre", Category = "Confections", UnitPrice = 49.3000M, UnitsInStock = 17 },
126                     new Product { ProductID = 63, ProductName = "Vegie-spread", Category = "Condiments", UnitPrice = 43.9000M, UnitsInStock = 24 },
127                     new Product { ProductID = 64, ProductName = "Wimmers gute Semmelknödel", Category = "Grains/Cereals", UnitPrice = 33.2500M, UnitsInStock = 22 },
128                     new Product { ProductID = 65, ProductName = "Louisiana Fiery Hot Pepper Sauce", Category = "Condiments", UnitPrice = 21.0500M, UnitsInStock = 76 },
129                     new Product { ProductID = 66, ProductName = "Louisiana Hot Spiced Okra", Category = "Condiments", UnitPrice = 17.0000M, UnitsInStock = 4 },
130                     new Product { ProductID = 67, ProductName = "Laughing Lumberjack Lager", Category = "Beverages", UnitPrice = 14.0000M, UnitsInStock = 52 },
131                     new Product { ProductID = 68, ProductName = "Scottish Longbreads", Category = "Confections", UnitPrice = 12.5000M, UnitsInStock = 6 },
132                     new Product { ProductID = 69, ProductName = "Gudbrandsdalsost", Category = "Dairy Products", UnitPrice = 36.0000M, UnitsInStock = 26 },
133                     new Product { ProductID = 70, ProductName = "Outback Lager", Category = "Beverages", UnitPrice = 15.0000M, UnitsInStock = 15 },
134                     new Product { ProductID = 71, ProductName = "Flotemysost", Category = "Dairy Products", UnitPrice = 21.5000M, UnitsInStock = 26 },
135                     new Product { ProductID = 72, ProductName = "Mozzarella di Giovanni", Category = "Dairy Products", UnitPrice = 34.8000M, UnitsInStock = 14 },
136                     new Product { ProductID = 73, ProductName = "Röd Kaviar", Category = "Seafood", UnitPrice = 15.0000M, UnitsInStock = 101 },
137                     new Product { ProductID = 74, ProductName = "Longlife Tofu", Category = "Produce", UnitPrice = 10.0000M, UnitsInStock = 4 },
138                     new Product { ProductID = 75, ProductName = "Rhönbräu Klosterbier", Category = "Beverages", UnitPrice = 7.7500M, UnitsInStock = 125 },
139                     new Product { ProductID = 76, ProductName = "Lakkalikööri", Category = "Beverages", UnitPrice = 18.0000M, UnitsInStock = 57 },
140                     new Product { ProductID = 77, ProductName = "Original Frankfurter grüne Soße", Category = "Condiments", UnitPrice = 13.0000M, UnitsInStock = 32 }
141                 };
142 
143             // Customer/Order data read into memory from XML file using XLinq:
144             customerList = (
145                 from e in XDocument.Load("Customers.xml").
146                           Root.Elements("customer")
147                 select new Customer
148                 {
149                     CustomerID = (string)e.Element("id"),
150                     CompanyName = (string)e.Element("name"),
151                     Address = (string)e.Element("address"),
152                     City = (string)e.Element("city"),
153                     Region = (string)e.Element("region"),
154                     PostalCode = (string)e.Element("postalcode"),
155                     Country = (string)e.Element("country"),
156                     Phone = (string)e.Element("phone"),
157                     Fax = (string)e.Element("fax"),
158                     Orders = (
159                         from o in e.Elements("orders").Elements("order")
160                         select new Order
161                         {
162                             OrderID = (int)o.Element("id"),
163                             OrderDate = (DateTime)o.Element("orderdate"),
164                             Total = (decimal)o.Element("total")
165                         })
166                         .ToArray()
167                 })
168                 .ToList();
169         }
170     }
171 }

Linq编程101例及个人补充

标签:style   blog   http   io   ar   color   os   sp   on   

原文地址:http://www.cnblogs.com/David-Huang/p/4126629.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!