zoukankan      html  css  js  c++  java
  • 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 = 1,Name = "IPhone4",Price = 1999,Remark = "心动不如行动"},
                    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 = "心动不如行动"},
                     new Product() {Id = 1,Code = "123456789",Name = "IPhone4",Price = 1999,Remark = "心动不如行动"},
                     new Product() {Id = 1,Code = "123456789",Name = "IPhone4",Price = 1999,Remark = "心动不如行动"},
                     new Product() {Id = 1,Code = "123456789",Name = "IPhone4",Price = 1999,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)
                //{
                //    Console.WriteLine(item.Id + "--" + item.Code + "--" + item.Name + "--" + item.Price + "--" + item.Remark);
                //}

                //// 新增数据
                //list.AddRange(new List<Product>() {new Product() {Id = 20,Name = "AddRange方法",Price = 1111,Remark = "AddRange添加"} });
                //foreach (var item in list)
                //{
                //    Console.WriteLine(item.Id + "--" + item.Code + "--" + item.Name + "--" + item.Price + "--" + item.Remark);
                //}

                //// 删除所有数据
                //list.Clear();
                //var query = list.Count();
                //Console.WriteLine(query);

                //// 删除指定数据
                //list.Remove(new Product() { Id = 14, Name = "IPhone6s", Price = 6999, Remark = "心动不如行动" });
                //foreach (var item in list)
                //{
                //    Console.WriteLine(item.Id + "--" + item.Code + "--" + item.Name + "--" + item.Price + "--" + item.Remark);
                //}

                // ForEach 遍历集合
                list.ForEach(p =>
                {
                    Console.WriteLine(p.Id + "--" + p.Code + "--" + p.Name + "--" + p.Price + "--" + p.Remark);

                });

    list集合中还有许多扩展方法。以后持续补充。

  • 相关阅读:
    面向对象、面向接口、面向方法编程的区别?
    面向接口、对象、方面编程区别 -- 精简版
    面向接口编程详解(一)——思想基础
    吴裕雄--天生自然数据结构:静态链表及其创建
    吴裕雄--天生自然数据结构:单链表的基本操作
    吴裕雄--天生自然数据结构:单链表,链式存储结构
    吴裕雄--天生自然数据结构:顺序表的基本操作
    吴裕雄--天生自然Python Matplotlib库学习笔记:matplotlib绘图(2)
    吴裕雄--天生自然Python Matplotlib库学习笔记:matplotlib绘图(1)
    吴裕雄--天生自然Numpy库学习笔记:NumPy Matplotlib
  • 原文地址:https://www.cnblogs.com/wendj/p/6705154.html
Copyright © 2011-2022 走看看