// 商品集合信息
            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集合中还有许多扩展方法。以后持续补充。

List<Object>对象集合一些扩展方法的更多相关文章

  1. 【java基础】java中Object对象中的Hashcode方法的作用

    以下是关于HashCode的官方文档定义: hashcode方法返回该对象的哈希码值.支持该方法是为哈希表提供一些优点,例如,java.util.Hashtable 提供的哈希表. hashCode  ...

  2. 3、Object对象的两大方法(hashCode-equals)总结

    Object类是所有java类的父类. 用户定义了如下一个Person类 public class Person{} 在类定义中并没有明确继承Object类,但是编译器会自动的完成这个过程. 既然所有 ...

  3. MVC为Html对象建立一个扩展方法,使用自己的控件就像使用TextBox一样方便

    先看一下我想要的结果: 很容易它就是一个单选按钮组,当我后台为Html对象(HtmlHelper的一个实例,它被定义在System.Web.Mvc名称空间下的WebViewPage类,即它对于所有MV ...

  4. JavaScript之Object对象常用属性与方法手册

    MDN Object参考地址:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Obje ...

  5. jquery中object对象循环遍历的方法

    一个朋友问对象如何转为数组,当我问他为啥要转得时候,他告诉我,数组可以用js循环遍历,而对象则不可以.其实呢,对象同样可以循环遍历的啊.不用转换也可以循环!说明你对js或者jquery的某些操作不是很 ...

  6. 集合的扩展方法ForEach的使用

    List<, , , , }; list.ForEach(p => Console.WriteLine(p)); 或者 List<, , , , }; list.ForEach(p ...

  7. 【转载】C#中List集合使用Exists方法判断是否存在符合条件的元素对象

    在C#的List集合操作中,有时候需要根据条件判断List集合中是否存在符合条件的元素对象,此时就可以使用List集合的扩展方法Exists方法来实现,Exists方法的签名为bool Exists( ...

  8. ES6 对象定义简写及常用的扩展方法

    1.ES6 对象定义简写 es6提供了对象定义里的属性,方法简写方式: 假如属性和变量名一样,可以省略,包括定义对象方法function也可以省略 <script type="text ...

  9. jQuery 工具类函数-使用$.extend()扩展Object对象

    除使用$.extend扩展工具函数外,还可以扩展原有的Object对象,在扩展对象时,两个对象将进行合并,当存在相同属性名时,后者将覆盖前者,调用格式为: $. extend (obj1,obj2,… ...

随机推荐

  1. 1441: Min

    1441: Min Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 320  Solved: 213[Submit][Status][Discuss] De ...

  2. 深入理解ajax系列第五篇——进度事件

    前面的话 一般地,使用readystatechange事件探测HTTP请求的完成.XHR2规范草案定义了进度事件Progress Events规范,XMLHttpRequest对象在请求的不同阶段触发 ...

  3. PHP数据访问增删查(20161028)

    注:预定义数组   $_POST[ ]; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &qu ...

  4. 【转】SQL Server海量数据库的索引、查询优化及分页算法

    探讨如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页.以下代码说明了我们实例中数据库的“红头文件”一表的部分数据结构: CREATE TABLE [dbo]. ...

  5. /bin/sh^M: bad interpreter:解决办法

    xcode编译时有时候遇到/bin/sh^M: bad interpreter:没有那个文件或目录这样的错误 可以用以下方式解决 先在控制台cd到报错的目录 vi xxx.sh(报错的那个文件):se ...

  6. 十分钟搭建redis单机版 & java接口调用

    本次单机版redis服务器搭建采用的包为redis-3.0.0.tar.gz,主要是记录下安装的心得,不喜勿喷! 一.搭建redis服务器单机版 1.上传redis-3.0.0.tar.gz到服务器上 ...

  7. TextRank:关键词提取算法中的PageRank

    很久以前,我用过TFIDF做过行业关键词提取.TFIDF仅仅从词的统计信息出发,而没有充分考虑词之间的语义信息.现在本文将介绍一种考虑了相邻词的语义关系.基于图排序的关键词提取算法TextRank [ ...

  8. linux最常用命令

    1,cd命令   作用:切换当前目录,它的参数切换的路劲,可以是相对路劲,也可以是绝对路劲. 用法: cd /root/Docements #切换当/root/Docements,绝对路劲 cd ./ ...

  9. LoadRunner性能测试专项班隆重开班

    LoadRunner性能测试专项班隆重开班 POPTEST首届高级性能测试提升强化班开课. 也许你只是看到成功者的光鲜,却没看到他们的努力和汗水.不要否定现在,要看到未来.提高自己.怎么自己.成就自己 ...

  10. 手机自动化测试:Appium代码之Logger

    手机自动化测试:Appium代码之Logger   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.poptest推出手机自动化测 ...