C# 集合扩展方法 Where()、Select()、Max()、Min()、Sum()、Average()
List< int > list = new List< int > ( ) ;
list. Add ( 6 ) ;
list. Add ( 3 ) ;
list. Add ( 1 ) ;
list. Add ( 2 ) ;
list. Add ( 9 ) ;
list. Add ( 0 ) ;
IEnumerable< int > data1 = list. Where ( x => x > 2 ) ;
foreach ( int item in data1)
{
Console. WriteLine ( item) ;
}
IEnumerable< string > data2 = list. Select ( x => "hello " + x) ;
foreach ( string item in data2)
{
Console. WriteLine ( item) ;
}
int max = list. Max ( ) ;
int min = list. Min ( ) ;
int sum = list. Sum ( ) ;
double avg = list. Average ( ) ;
C# 集合扩展方法 Count()、Any()、OrderBy()、OrderByDescending()、Single()、SingleOrDefault()、First()、FirstOrDefault()
public class Employee
{
public int Id { get ; set ; }
public string Name { get ; set ; }
public int Age { get ; set ; }
}
private void button1_Click ( object sender, EventArgs e)
{
List< Employee> list = new List< Employee> ( ) ;
list. Add ( new Employee { Id = 1 , Name = "aaa" , Age = 14 } ) ;
list. Add ( new Employee { Id = 2 , Name = "bbb" , Age = 10 } ) ;
list. Add ( new Employee ( ) { Id = 3 , Name = "ccc" , Age = 19 } ) ;
list. Add ( new Employee ( ) { Id = 4 , Name = "ddd" , Age = 9 } ) ;
list. Add ( new Employee ( ) { Id = 5 , Name = "eee" , Age = 11 } ) ;
int i = list. Count ( p => p. Age > 13 ) ;
int j = list. Count ( p => p. Age > 13 && p. Id > 3 ) ;
Console. WriteLine ( $"i= { i } j= { j } " ) ;
bool b = list. Any ( p => p. Id > 3 ) ;
Console. WriteLine ( b) ;
var newList1 = list. OrderBy ( p => p. Age) ;
var newList2 = list. OrderByDescending ( p => p. Age) ;
var newList3 = list. OrderBy ( p => Guid. NewGuid ( ) ) ;
Random rnd = new Random ( ) ;
var newList4 = list. OrderBy ( p => rnd. Next ( ) ) ;
Employee e1 = list. Single ( p => p. Id == 1 ) ;
Employee e2 = list. SingleOrDefault ( p => p. Id == 0 ) ;
Employee e3 = list. First ( p => p. Id > 0 ) ;
Employee e4 = list. FirstOrDefault ( p => p. Id > 0 ) ;
}