【01】
【名称】Aggregate<>
【描述】对应用序列累加函数
【用法】
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![ExpandedBlockStart.gif](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
string
sentence
=
"
the quick brown fox jumps over the lazy dog
"
;
string [] words = sentence.Split( ' ' );
string reversed = words.Aggregate((workingSentence, next) => next + " " + workingSentence);
Console.WriteLine(reversed);
/*
传入一个起始值,也可以理解为已经累加完的值,然后下一个值
*/
string [] words = sentence.Split( ' ' );
string reversed = words.Aggregate((workingSentence, next) => next + " " + workingSentence);
Console.WriteLine(reversed);
/*
传入一个起始值,也可以理解为已经累加完的值,然后下一个值
*/
【02】
【名称】All<>
【描述】确定序列中的所有元素是否满足条件
【用法】
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![ExpandedBlockStart.gif](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
List
<
UserClass
>
Lists
=
new
List
<
UserClass
>
{
new UserClass{ Age = 15 , Name = " 先生A " },
new UserClass{ Age = 16 , Name = " 先生B " },
new UserClass{ Age = 17 , Name = " 女士A " },
new UserClass{ Age = 22 , Name = " 女士B " },
new UserClass{ Age = 24 , Name = " 女士C " },
new UserClass{ Age = 26 , Name = " 女士D " },
new UserClass{ Age = 27 , Name = " 女士E " },
new UserClass{ Age = 28 , Name = " 女士F " }
};
bool _Default = Lists.All(User => { return User.Age > 50 ; });
/*
结果为:false 所有的都不满足
*/
{
new UserClass{ Age = 15 , Name = " 先生A " },
new UserClass{ Age = 16 , Name = " 先生B " },
new UserClass{ Age = 17 , Name = " 女士A " },
new UserClass{ Age = 22 , Name = " 女士B " },
new UserClass{ Age = 24 , Name = " 女士C " },
new UserClass{ Age = 26 , Name = " 女士D " },
new UserClass{ Age = 27 , Name = " 女士E " },
new UserClass{ Age = 28 , Name = " 女士F " }
};
bool _Default = Lists.All(User => { return User.Age > 50 ; });
/*
结果为:false 所有的都不满足
*/
【03】
【名称】Any<>
【描述】确定序列中的任何元素是否都满足条件
【用法】
bool
_Default
=
Lists.Any( u
=>
{
return
u.Age
>
20
; } );
//
结果为:true,只要有一个满足条件就为true
【04】
【名称】Average<>
【描述】可以计算出序列当中的平均值
【用法】
double
dou
=
Lists.Average(User
=>
{
return
User.Age; });
// 结果为 21.875
// 结果为 21.875
【05】
【名称】Find<>
【描述】查找集合当中指定的对象
【用法】 Lists.Find(U => { return U.Age == 22; });
【06】
【名称】ForEach
【描述】遍历集合中的对象
【用法】
Lists.ForEach( U
=>
{
if
(U.Age
<
20
) MessageBox.Show(U.Name); } );
【07】
【名称】GroupBy<>
【描述】分组,这个方法有好多参数大家慢慢研究,我指出一个例子的用法
【用法】
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![ExpandedBlockStart.gif](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
List
<
UserClass
>
Lists
=
new
List
<
UserClass
>
{
new UserClass{ Age = 15 , Name = " 先生A " },
new UserClass{ Age = 15 , Name = " 先生B " },
new UserClass{ Age = 15 , Name = " 女士A " },
new UserClass{ Age = 16 , Name = " 女士B " },
new UserClass{ Age = 16 , Name = " 女士C " },
new UserClass{ Age = 20 , Name = " 女士D " },
new UserClass{ Age = 20 , Name = " 女士E " },
new UserClass{ Age = 20 , Name = " 女士F " }
};
Lists.GroupBy(pet => pet.Age,
(Age, pets) => new
{
Key = Age,
Count = pets.Count(),
Min = pets.Min(pet => pet.Age),
Max = pets.Max(pet => pet.Age)
}
).ToList().ForEach(U => Console.WriteLine( " 【总数:{0}】【最大值:{1}】【最小值:{2}】【分组:{3}】 " , U.Count, U.Max, U.Min, U.Key));
Console.ReadKey();
{
new UserClass{ Age = 15 , Name = " 先生A " },
new UserClass{ Age = 15 , Name = " 先生B " },
new UserClass{ Age = 15 , Name = " 女士A " },
new UserClass{ Age = 16 , Name = " 女士B " },
new UserClass{ Age = 16 , Name = " 女士C " },
new UserClass{ Age = 20 , Name = " 女士D " },
new UserClass{ Age = 20 , Name = " 女士E " },
new UserClass{ Age = 20 , Name = " 女士F " }
};
Lists.GroupBy(pet => pet.Age,
(Age, pets) => new
{
Key = Age,
Count = pets.Count(),
Min = pets.Min(pet => pet.Age),
Max = pets.Max(pet => pet.Age)
}
).ToList().ForEach(U => Console.WriteLine( " 【总数:{0}】【最大值:{1}】【最小值:{2}】【分组:{3}】 " , U.Count, U.Max, U.Min, U.Key));
Console.ReadKey();
【07】
【名称】Select<>
【描述】返回新的对象数组
【用法】
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![ExpandedBlockStart.gif](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
Lists.Select(U
=>
new
{
Age = U.Age,
Name = U.Name + DateTime.Now.ToString( " yy-mm-dd " )
}
).ToList().ForEach(U => Console.WriteLine( " 【年龄:{0}】【名称:{1}】 " , U.Age, U.Name));
{
Age = U.Age,
Name = U.Name + DateTime.Now.ToString( " yy-mm-dd " )
}
).ToList().ForEach(U => Console.WriteLine( " 【年龄:{0}】【名称:{1}】 " , U.Age, U.Name));