天天看點

List<Object>對象集合一些擴充方法

 // 商品集合資訊

            List<Product> list = new List<Product>()

            {

                new Product() {Id = 1,Name = "IPhone4",Price = 1999,Remark = "心動不如行動"},

                new Product() {Id = 2,Name = "IPhone4s",Price = 2999,Remark = "心動不如行動"},

                new Product() {Id = 3,Name = "IPhone5",Price = 3999,Remark = "心動不如行動"},

                new Product() {Id = 4,Name = "IPhone5s",Price = 4999,Remark = "心動不如行動"},

                new Product() {Id = 5,Name = "IPhone6",Price = 5999,Remark = "心動不如行動"},

                new Product() {Id = 6,Name = "IPhone6s",Price = 6999,Remark = "心動不如行動"},

                new Product() {Id = 7,Name = "IPhone7",Price = 7999,Remark = "心動不如行動"},

                new Product() {Id =8,Name = "IPhone7s",Price = 8999,Remark = "心動不如行動"},

                new Product() {Id = 9,Name = "IPhone7s Plus",Price = 9999,Remark = "心動不如行動"},

                // 除了ID其它字段重複資料

                new Product() {Id = 10,Name = "IPhone4s",Price = 2999,Remark = "心動不如行動"},

                new Product() {Id = 11,Name = "IPhone5",Price = 3999,Remark = "心動不如行動"},

                new Product() {Id = 12,Name = "IPhone5s",Price =4999,Remark = "心動不如行動"},

                new Product() {Id = 13,Name = "IPhone6",Price = 5999,Remark = "心動不如行動"},

                new Product() {Id = 14,Name = "IPhone6s",Price = 6999,Remark = "心動不如行動"},

                // 完全重複資料

                 new Product() {Id = 1,Code = "123456789",Name = "IPhone4",Price = 1999,Remark = "心動不如行動"},

            };

            //// 1:根據條件篩選價格大于3000的商品資訊

            //var query = list.Where(p=>p.Price>3000).ToList();

            //foreach (var item in query)

            //{

            //    Console.WriteLine(item.Id+"--"+item.Code + "--" +item.Name + "--" +item.Price + "--" +item.Remark);

            //}

            //// 2-1:去除重複的資料(聲明一個類繼承:IEqualityComparer<Product>)

            //var query = list.Distinct(new DistinctComparer());

            //foreach (var item in query.ToList())

            //    Console.WriteLine(item.Id + "--" + item.Code + "--" + item.Name + "--" + item.Price + "--" + item.Remark);

            //// 2-2:利用HashSet去除重複資料

            //var js = new List<string>() { "1", "1", "2", "3" };

            //HashSet<string> hs = new HashSet<string>(js); //此時已經去掉重複的資料儲存在hashset中

            //foreach (var item in hs)

            //    Console.WriteLine(item);

            //// 擷取list集合總數

            //var query = list.Count();

            //Console.WriteLine(query);

            //// 新增資料

            //list.Add(new Product() { Id = 10, Price = 123, Remark = "新增", Name = "IPhone8" });

            //foreach (var item in list)

            //}

            //list.AddRange(new List<Product>() {new Product() {Id = 20,Name = "AddRange方法",Price = 1111,Remark = "AddRange添加"} });

            //// 删除所有資料

            //list.Clear();

            //// 删除指定資料

            //list.Remove(new Product() { Id = 14, Name = "IPhone6s", Price = 6999, Remark = "心動不如行動" });

            // ForEach 周遊集合

            list.ForEach(p =>

                Console.WriteLine(p.Id + "--" + p.Code + "--" + p.Name + "--" + p.Price + "--" + p.Remark);

            });

list集合中還有許多擴充方法。以後持續補充。

繼續閱讀