ASP.NET List 集合操作
类别:编程学习 浏览量:1702
时间:2014-12-2 ASP.NET List 集合操作
ASP.NET List 集合操作下面代码记录ASP.NET中对List 集合简单的操作
public sealed class Employee { public string Name { get; set; } public double Salary { get; set; } public short Dependents { get; set; } } public class Test { public void FunTest() { var employees = new List<Employee> { new Employee { Name = "Bob", Salary = 1, Dependents = 0 }, new Employee { Name = "Sherry", Salary = 2, Dependents = 1 }, new Employee { Name = "Kathy", Salary = 3, Dependents = 0 }, new Employee { Name = "Joe", Salary = 4, Dependents = 2 }, new Employee { Name = "Bob", Salary = 5, Dependents = 0 }, new Employee { Name = "Bob", Salary = 6, Dependents = 0 } }; //泛型方法的类型参数是可以省略的 //所有求和 double sumSalary = employees.Sum<Employee>(e => e.Salary);//21.0 //【linq方式】所有求和 var sumSalary2 = (from v in employees select v).Sum(e => e.Salary);//21.0 //按照某一条件求和 double sumSalaryFilter = employees.Where<Employee>(e => e.Name == "Bob").ToList().Sum(e => e.Salary);//12.0 //【linq方式】按照某一条件求和 var sumSalaryFilter2 = (from v in employees where v.Name == "Bob" select v).Sum(e => e.Salary);//12.0 //选择数据而已,即返回自定义改变后的新的投影的数据列表(无法改变源数据) var selectChangedNameList = employees.Select<Employee, Employee>(e => { return new Employee { Name = "Bob" }; }).ToList(); //【linq方式】选择数据而已,即返回自定义改变后的新的投影的数据列表(无法改变源数据) var selectChangedNameList2 = (from v in employees select new { Name = "Bob", Salary = v.Salary, Dependents = v.Dependents }).ToList(); //选择返回某一列的清单投影的数据列表 var selectSalaryList = employees.Select<Employee, double>(e => { return e.Salary; }).ToList(); //查找符合条件的第一个元素 Employee employee1 = employees.Find(e => e.Name == "Bob"); //【linq方式】查找符合条件的第一个元素 Employee employee2 = (from v in employees where v.Name == "Bob" select v).First(); //不用lambda方式筛选符合条件的元素列表 Predicate<Employee> aaaa = new Predicate<Employee>(fun1); List<Employee> employee1List = employees.FindAll(aaaa); //lambda方式筛选符合条件的元素列表 List<Employee> employee2List = employees.FindAll(e => e.Name == "Bob"); //【linq方式】方式筛选符合条件的元素列表 List<Employee> employee2List2 = (from v in employees where v.Name == "Bob" select v).ToList(); //max,min,平均值,筛选满足某条件的max和min已经使用linq方式 employees.Max(e => e.Salary); employees.Min(e => e.Salary); (from v in employees select v).Max(e => e.Salary); (from v in employees select v).Min(e => e.Salary); double maxSalaryFilter = employees.Where<Employee>(e => e.Name == "Bob").ToList().Max(e => e.Salary); //简单的运算,比如列表总的相加的值 var aggregateEmployee = employees.Aggregate<Employee>((result, next) => new Employee { Salary = result.Salary + next.Salary }); //某一列的不重复的汇总 var groupEmployees = employees.GroupBy(e => new { e.Name }).Select(g => new { g.Key, Count = g.Count() }).ToList(); var groupEmployees1 = employees.GroupBy(e => e.Name).Select(e => new { Name = e.Key, sumSalary = e.Sum(d => d.Salary) }).ToList(); var groupEmployees2 = (from v in employees group v by v.Name into g select new { Name = g.Key, SumSalary = g.Sum(d => d.Salary) }).ToList(); //查询满足某一条件的所有数据 IEnumerable<Employee> employee3List = employees.Where<Employee>(e => e.Name == "Bob"); List<Employee> employee4List = employees.Where<Employee>(e => e.Name == "Bob").ToList(); employee3List = employee4List as IEnumerable<Employee>; Console.WriteLine("adfadsfasdfasdf"); } private bool fun1(Employee e) { return (e.Name == "Bob"); } }
标签:List
您可能感兴趣
- C# Checklistbox的用法
- idea的tomcat怎么关闭(解决Idea的tomcat启动报多个listener的错误问题)
- MVC扩展HtmlHelper实现CheckBoxList
- MVC中使用DropDownList
- mysql的三种模式(详解 MySQL的FreeList机制)
- dede标签使用(解决{dede:arclist keyword='动态获取关键词'})
- python中list怎么用(详解python中list的使用)
- html元素和属性的区别(HTML5 HTMLCollection和NodeList的区别详解)
- css按钮样式实例(CSS使用classList实现两个按钮样式的切换)
- python list基本操作(Python3中列表list合并的四种方法)
- dedecms投稿页面(dedecms artlist读取全站最新文章的代码)
- datatable和list的转换
- ubuntu18.04更换软件源(ubuntu20.04 LTS系统默认源sources.list文件的修改)
- c#中list排序
- C#泛型List的用法
- ASP.NET List 集合操作
- ()
- 对你思念入骨的女人,跟你见面时会有这几种表现,藏都藏不住(对你思念入骨的女人)
- 纳兰性德绝美作,一场重逢,成就最后一首称得上惊艳的《如梦令》(纳兰性德绝美作)
- 如何快速赚钱(如何快速赚钱方法真实有效)
- 这里输入关键词(如何输入关键词)
- 熊猫中国国宝(熊猫国宝酒53酱香)
热门推荐
- canvas绘制流星(使用canvas实现黑客帝国数字雨效果)
- serv-u服务器搭建(Serv-U 无法连接到服务器127.0.0.1,端口43958 之解决办法)
- python内置函数使用方法(Python神奇的内置函数locals的实例讲解)
- django表单提交到数据库(Django 表单模型选择框如何使用分组)
- idea里面怎么配置tomcat(intellij idea 使用Tomcat部署的项目位置在哪)
- C#中的readonly和const关键字
- docker从一个容器中退出来(Docker容器迁移到其他服务器的5种方法详解)
- 云服务器怎么设置端口映射(云服务器怎么修改远程端口)
- php怎么实现多线程(PHP实现的多进程控制demo示例)
- linux增加静态路由(Linux添加静态路由两种实现方法解析)