关于List筛选数据的笔记

List有集成了很多方法,如果在一个list中,需要选择仅仅需要的字段,或者筛选出满足条件的对象,可以参考此种用法:

namespace TestDemo
{
    public class Program
    {
        static void Main(string[] args)
        {
            List<Person> perList = new List<Person>() { 
                new Person(){Id=1,Name="xqq",Age=27,Description="This is a Test"},
                new Person(){Id=1,Name="hjj",Age=26,Description="This is a Test"},
                new Person(){Id=1,Name="zcy",Age=26,Description="This is a Test"},
                new Person(){Id=1,Name="lxq",Age=25,Description="This is a Test"}
            };
            //List Select仅仅是选中此List的相关属性(name,age...)
            perList.Select(p => p.Name).ToList().ForEach(r => Console.WriteLine(r));
            //List Select选择多个属性
            perList.Select(p => new { p.Name, p.Age }).ToList().ForEach(r=>Console.WriteLine(r));
            //List 选择name=xqq的对象的(name,age及description属性)
            perList.Select(p => new { p.Name, p.Age, p.Description }).Where(p => p.Name == "xqq").ToList().ForEach(r=>Console.WriteLine(r));

            //查询的返回第一条记录
            Console.WriteLine(perList.Select(p => new { p.Name }).ToList().Find(d => d.Name.Contains("q")).ToString());
            //查询返回所有的记录
            perList.Select(p => new { p.Name, p.Age }).ToList().FindAll(d => d.Name.Contains("q")).ForEach(r=>Console.WriteLine(r));
            Console.ReadKey(true);
        }


    }

    public class Person
    {
        public int Id { get; set; }

        public string Name { get; set; }

        public int Age { get; set; }

        public string Description { get; set; }        
    }
}

 

仅自己参考

posted @ 2017-06-15 18:20  雨花宝宝  阅读(273)  评论(0编辑  收藏  举报