bool b1 = users.All(u => u.ID == 21); 判断是否元素都满足条件,如果有一个不满足,则返回False,都满足则返回True
Any() bool b2 = users.Any(u => u.Age == 100); 判断是否有满足条件的,如果有就返回true,否则,返回false
double avgAge = users.Average(u => u.Age); 求某个属性的平均值,不可是字符串。返回的是一个double
bool b3 = users.Contains(u1); 注意:只有users中添加过u1,才真的是存在,就算users里有和u1一样的元素,也不包含
Count() int count = users.Count(u => u.Age > 30); 如果没有参数,那么值直接返回集合的行数,如果有表达式,就返回满足条件的个数
List
List
User u4 = users.ElementAt(0) // 效果 等同于 users[0] 但如果超出范围,会报错
User u5 = users.ElementAtOrDefault(1000); 和上面的方法类似,但是超出之后,不会报错,只会返回该类型的默认值
User u6 = users.Find(u => u.Age >= 1000); 获得第一个满足条件的元素,如果找不到,则返回该类型的默认值
List
int index2 = users.FindIndex(3,5, u => u.Age == 22); 指定了开始的位置和结束的位置,相反的是FindLastIndex()
List
users.Max(u => u.Age); users.Min(u => u.Age); 最小与最大的
var users6= users.GroupBy(u => u.Gender).ToList(); 分组,键值对集合,
List
users.RemoveAll(u => u.Age < 30); 删除所有满足条件的元素
users.RemoveRange(2, 4); 从指定位置开始,删除指定个数的元素
users.Reverse(); 对集合进行反转,如果指定哪里到哪里进行反转的话users.Reverse(0, 3);
int sum = users.Sum(u => u.Age); 对某列进行求和
users.Select(u=> new Hehe() { xxx=u.ID, aaa = u.Age }).ToList() 将现有集合中的元素 映射为 新类型 你也可以直接在后面的tolist上添加过滤linq语句
List
List