using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Person
{
private string _name;
private int _age;
public Person(string Name,int Age)
{
this._name = Name;
this._age = Age;
}
public string Name
{
get
{
return _name;
}
}
public int Age
{
get
{
return _age;
}
}
}
//排序
class PersonComparison
{
//按Age排序
public static int Age(Person p1, Person p2)
{
return System.Collections.Comparer.Default.Compare(p1.Age, p2.Age);
}
//按Name排序
public static int Name(Person p1, Person p2)
{
return System.Collections.Comparer.Default.Compare(p1.Name, p2.Name);
}
}
//筛选
class PersonPredicate
{
public static bool midAge(Person p)
{
if (p.Age > 40)
{
return true;
}
else
{
return false;
}
}
}
class Program
{
static void Main(string[] args)
{
Person p1 = new Person("zhang",20);
Person p2 = new Person("li",60);
Person p3 = new Person("wang", 40);
List<Person> persons = new List<Person>();
persons.Add(p1);
persons.Add(p2);
persons.Add(p3);
//按Name排序
//System.Comparison<Person> NameComp = new System.Comparison<Person>(PersonComparison.Name);
//persons.Sort(NameComp);
//按Age排序
System.Comparison<Person> AgeComp = new System.Comparison<Person>(PersonComparison.Age);
persons.Sort(AgeComp);
foreach(var items in persons)
{
Console.WriteLine(items.Name+":"+items.Age);
}
//
System.Predicate<Person> midAgePred = new Predicate<Person>(PersonPredicate.midAge);
List<Person> midAgePerson = persons.FindAll(midAgePred);
foreach (var items in midAgePerson)
{
Console.WriteLine("");
Console.WriteLine(items.Name + ":" + items.Age);
}
}
}
}
C# List用法
最新推荐文章于 2024-05-30 15:48:32 发布