LinQ表達式的一點點總結(二)select中新建對象


先建一個實體類

class Customer

    {
        public String ID { get; set; }
        public String Name { get; set; }
        public String Country { get; set; }
        public String Price { get; set; }
        public override string ToString()
        {
            return "ID = "+ID+",Name = "+Name+",Country = "+Country+",Price = "+Price;
        } 

     }

對這個實體類進行相應的查詢 

List<Customer> lists = new List<Customer>
            {
                new Customer
                {ID ="0001",
                Name = "computer",
                Country = "korea",
                Price = 111},
                new Customer
                {ID ="0002",
                Name = "phone",
                Country = "japan",
                Price = 111},
                new Customer
                {ID ="0003",
                Name = "pad",
                Country = "usa",
                Price = 111},
                new Customer
                {ID ="0004",
                Name = "map3",
                Country = "china",
                Price = 111},
                new Customer
                {ID ="0005",
                Name = "fuduji",
                Country = "china",
                Price = 111},
            };
            var item = from n in lists
                       where n.Country == "china"
                       select n;
            foreach (Customer i in item)
            {
                Console.WriteLine(i);
            }
            
            var item = from n in lists
                       where n.Country == "china"
                       select n.Name;//改成select n.Name+"er"; 在查詢出的數據后面加一個尾巴再輸出
            foreach (String i in item)
            {
                Console.WriteLine(i);
            }

            Console.ReadKey();

 ---------------------------------------------------------

后面的查詢部分還可以改成這樣

 var item = from n in lists
                        where n.Country == "china"
                        select new { n.Name,n.Country };//在select語句中映射多個屬性只能用這種創先新對象的方式
             foreach (var i in item)
             {
                 Console.WriteLine(i);

             }

 //另外還有一種相類似的方法,應該說這才是真正的在select語句里面創建新的方法,這種方法常用在先給要查詢的實體類實例化,然后再從中查詢需要的內容(干巴巴的我也講不太清楚,看看代碼)

先創建一個實體類是用來提供數據的

 class Com
    {
        public String A { get; set; }
        public String B { get; set; }
        public String C { get; set; }
        public String D { get; set; }
       

    } 

 再創建一個實體類(就是上個例子用到的那個類)

  class Customer
    {
        public String ID { get; set; }
        public String Name { get; set; }
        public String Country { get; set; }
        public String Price { get; set; }
        public override string ToString()
        {
            return "ID = "+ID+",Name = "+Name+",Country = "+Country+",Price = "+Price;
        }

    } 

 接下來是具體的使用了

  List<Com> lists = new List<Com>
            {
                new Com
                {
                    A = "111",
                    B = "222",
                    C = "333",
                    D = "444"
                },
                 new Com
                {
                    A = "aaa",
                    B = "bbb",
                    C = "ccc",
                    D = "ddd"
                },
                 new Com
                {
                    A = "AAA",
                    B = "BBB",
                    C = "CCC",
                    D = "DDD"
                }
            };
            var item = from n in lists
                       select new Customer
                       {
                          ID = n.A,
                          Name = n.B,
                          Country = n.C,
                          Price = n.D
                       };
            foreach(var i in item)
            {
                Console.WriteLine(i);
            }
            Console.ReadKey();

  } 

 這種做法在解析數據會時常用到,有時間再回過頭來看看


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM