zoukankan      html  css  js  c++  java
  • C#中linq

    class IntroToLINQ
    {        
        static void Main()
        {
            // The Three Parts of a LINQ Query: 
            //  1. Data source. 
            int[] numbers = new int[7] { 0, 1, 2, 3, 4, 5, 6 };
    
            // 2. Query creation. 
            // numQuery is an IEnumerable<int> 
            var numQuery =
                from num in numbers
                where (num % 2) == 0
                select num;
    
            // 3. Query execution. 
            foreach (int num in numQuery)
            {
                Console.Write("{0,1} ", num);
            }
        }
    }
    Northwnd db = new Northwnd(@"c:
    orthwnd.mdf");
    
    // Query for customers in London.
    IQueryable<Customer> custQuery =
        from cust in db.Customers
        where cust.City == "London"
        select cust;
    List<int> numQuery2 =
        (from num in numbers
         where (num % 2) == 0
         select num).ToList();
    
    // or like this: 
    // numQuery3 is still an int[] 
    
    var numQuery3 =
        (from num in numbers
         where (num % 2) == 0
         select num).ToArray();
    View Code
    var queryLondonCustomers = from cust in customers
                               where cust.City == "London" 
                               select cust;
    // queryCustomersByCity is an IEnumerable<IGrouping<string, Customer>> 
      var queryCustomersByCity =
          from cust in customers
          group cust by cust.City;
    
      // customerGroup is an IGrouping<string, Customer> 
      foreach (var customerGroup in queryCustomersByCity)
      {
          Console.WriteLine(customerGroup.Key);
          foreach (Customer customer in customerGroup)
          {
              Console.WriteLine("    {0}", customer.Name);
          }
      }
    class Student
    {
        public string First { get; set; }
        public string Last {get; set;}
        public int ID { get; set; }
        public string Street { get; set; }
        public string City { get; set; }
        public List<int> Scores;
    }
    
    class Teacher
    {
        public string First { get; set; }
        public string Last { get; set; }
        public int ID { get; set; } 
        public string City { get; set; }
    }
    class DataTransformations
    {
        static void Main()
        {
            // Create the first data source.
            List<Student> students = new List<Student>()
            {
                new Student {First="Svetlana",
                    Last="Omelchenko", 
                    ID=111, 
                    Street="123 Main Street",
                    City="Seattle",
                    Scores= new List<int> {97, 92, 81, 60}},
                new Student {First="Claire",
                    Last="O’Donnell", 
                    ID=112,
                    Street="124 Main Street",
                    City="Redmond",
                    Scores= new List<int> {75, 84, 91, 39}},
                new Student {First="Sven",
                    Last="Mortensen",
                    ID=113,
                    Street="125 Main Street",
                    City="Lake City",
                    Scores= new List<int> {88, 94, 65, 91}},
            };
    
            // Create the second data source.
            List<Teacher> teachers = new List<Teacher>()
            {                
                new Teacher {First="Ann", Last="Beebe", ID=945, City = "Seattle"},
                new Teacher {First="Alex", Last="Robinson", ID=956, City = "Redmond"},
                new Teacher {First="Michiyo", Last="Sato", ID=972, City = "Tacoma"}
            };
    
            // Create the query. 
            var peopleInSeattle = (from student in students
                        where student.City == "Seattle" 
                        select student.Last)
                        .Concat(from teacher in teachers
                                where teacher.City == "Seattle" 
                                select teacher.Last);
    
            Console.WriteLine("The following students and teachers live in Seattle:");
            // Execute the query. 
            foreach (var person in peopleInSeattle)
            {
                Console.WriteLine(person);
            }
    
            Console.WriteLine("Press any key to exit.");
            Console.ReadKey();
        }
    }
    /* Output:
        The following students and teachers live in Seattle:
        Omelchenko
        Beebe
     */
    var query = from cust in Customers
                select cust.City;
    var query = from cust in Customer
                select new {Name = cust.Name, City = cust.City};
    class XMLTransform
    {
        static void Main()
        {            
            // Create the data source by using a collection initializer. 
            // The Student class was defined previously in this topic.
            List<Student> students = new List<Student>()
            {
                new Student {First="Svetlana", Last="Omelchenko", ID=111, Scores = new List<int>{97, 92, 81, 60}},
                new Student {First="Claire", Last="O’Donnell", ID=112, Scores = new List<int>{75, 84, 91, 39}},
                new Student {First="Sven", Last="Mortensen", ID=113, Scores = new List<int>{88, 94, 65, 91}},
            };
    
            // Create the query. 
            var studentsToXML = new XElement("Root",
                from student in students
                let x = String.Format("{0},{1},{2},{3}", student.Scores[0],
                        student.Scores[1], student.Scores[2], student.Scores[3])
                select new XElement("student",
                           new XElement("First", student.First),
                           new XElement("Last", student.Last),
                           new XElement("Scores", x)
                        ) // end "student"
                    ); // end "Root" 
    
            // Execute the query.
            Console.WriteLine(studentsToXML);
    
            // Keep the console open in debug mode.
            Console.WriteLine("Press any key to exit.");
            Console.ReadKey();
        }
    }
    < Root>
      <student>
        <First>Svetlana</First>
        <Last>Omelchenko</Last>
        <Scores>97,92,81,60</Scores>
      </student>
      <student>
        <First>Claire</First>
        <Last>O'Donnell</Last>
        <Scores>75,84,91,39</Scores>
      </student>
      <student>
        <First>Sven</First>
        <Last>Mortensen</Last>
        <Scores>88,94,65,91</Scores>
      </student>
    </Root>
    class FormatQuery
    {
        static void Main()
        {            
            // Data source. 
            double[] radii = { 1, 2, 3 };
    
            // Query.
            IEnumerable<string> query =
                from rad in radii
                select String.Format("Area = {0}", (rad * rad) * 3.14);
    
            // Query execution.  
            foreach (string s in query)
                Console.WriteLine(s);
    
            // Keep the console open in debug mode.
            Console.WriteLine("Press any key to exit.");
            Console.ReadKey();
        }
    }
    /* Output:
        Area = 3.14
        Area = 12.56
        Area = 28.26
    */

    http://msdn.microsoft.com/en-us/library/bb397924.aspx

    地址;http://msdn.microsoft.com/en-us/library/bb397927.aspx

  • 相关阅读:
    Java动态代理(三)——模拟AOP实现
    Java动态代理(二)CGLIB动态代理应用
    Java动态代理(一)动态类Proxy的使用
    CGLIB实现动态代理
    初识Java微信公众号开发
    spring+ibatis事务管理配置
    什么是事务的传播特性
    Spring事务配置的五种方式
    Java语言基础(五) Java原始数据类型的分类以及数据范围
    Java语言基础(四) String和StringBuffer的区别
  • 原文地址:https://www.cnblogs.com/zhao123/p/3926025.html
Copyright © 2011-2022 走看看