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
您可能感兴趣
- dedecms表单格式(DedeCMS arclist的分页使用教程)
- dedecms二次开发教程(dedecms二次开发时使用{dede:arclist},{dede:list}获取附加表字段内容)
- python list基本操作(Python3中列表list合并的四种方法)
- 数组、ArrayList和List的区别
- python3目录操作(Python3 pip3 list 出现 DEPRECATION 警告的解决方法)
- list使用linq排序
- mysql索引的比较规则(MySQL的Flush-List和脏页的落盘机制)
- dedecms怎么调用标签(织梦DEDECMS dede:arclist,dede:list获取附加表字段内容的方法)
- dede标签使用(解决{dede:arclist keyword='动态获取关键词'})
- ubuntu18.04更换软件源(ubuntu20.04 LTS系统默认源sources.list文件的修改)
- mysql的三种模式(详解 MySQL的FreeList机制)
- pythonlist列表讲解(Python中将两个或多个list合成一个list的方法小结)
- python 自定义获取文件目录(Python使用os.listdir和os.walk获取文件路径与文件下所有目录的方法)
- MVC中使用DropDownList
- C#泛型List的用法
- C# Checklistbox的用法
- 谁说女子不如男 范冰冰演的武则天只是其一,另外两位你认识吗(谁说女子不如男)
- 杯酒人生---瓦伦丁酒杯和奥丁格啤酒(杯酒人生---瓦伦丁酒杯和奥丁格啤酒)
- 中秋节买啤酒,预算超过7元试试这8种啤酒,麦香浓郁都是真啤酒(预算超过7元试试这8种啤酒)
- CellPress旗下的6 期刊,国人友刊来了解一下吧(CellPress旗下的6期刊国人友刊来了解一下吧)
- ()
- SCI检索 SSCI检索 EI检索 ISTP检索 CSCD检索简介(SCI检索SSCI检索EI检索)
热门推荐
- python中encode中文自定义编码(详解Python解决抓取内容乱码问题decode和encode解码)
- laravel线上如何调试(解决Laravel 不能创建 migration 的问题)
- php array只能放一种类型的数据(浅谈PHP array_search 和 in_array 函数效率问题)
- phpstudy报错(phpStudy运行帝国备份王出错解决方法)
- ASP.NET文件打包压缩下载
- css元素最完整表现形式(CSS 伪元素::marker详解)
- python迭代函数(详解Python中的内建函数,可迭代对象,迭代器)
- sql中的条件语法(SQL 中STUFF用法)
- dedecms怎么设置翻页(DEDECMS中获取无限栏目子分类的方法)
- django条件序列化(Django之无名分组和有名分组的实现)