泛型(定义一个类,实例化,查找,排序(用的是委托方法,findall))
using System;
using System.Collections.Generic;
using System.Text;
namespace FanXing

{
class Program
{
static void Main(string[] args)
{
List<Racer> ra = new List<Racer>();
ra.Add(new Racer (123,"劳斯莱斯"));
ra.Add(new Racer (234,"大奔"));
ra.Add (new Racer (345,"夏利"));
foreach (Racer r in ra)
{
Console.WriteLine(r.ToString());
}
//查找(号为123的车)
Find find = new Find(123);
foreach (Racer racer in ra.FindAll(new Predicate<Racer>(find.FindNum)))
{
//两种写法
//Console.WriteLine(racer.ToString());
Console.WriteLine(racer);
}
//按照name,进行相应的排序.使用委托进行相应的排序。
ra.Sort(delegate(Racer r1, Racer r2)
{ return r1.Name.CompareTo(r2.Name); });
foreach (Racer r in ra)
{
Console.WriteLine(r.ToString());
}
//不太行。不知道什么原因?
//ra.Sort(new RacerComparer(RacerComparer.CompareTye.Name));
}
}
}
using System.Text;
namespace FanXing

{
class Find
{
private int num;
public Find(int hao)
{
this.num = hao;
}
public bool FindNum(Racer ra)
{
return ra.Num == this.num;
}
}
}

using System;
using System.Collections.Generic;
using System.Text;
namespace FanXing

{
class Racer
{
private string name;
private int num;
public int Num
{
get
{ return num; }
}
public string Name
{
get
{ return name; }
}
public Racer(int hao,string ming)
{
this.name = ming;
this.num = hao;
}
public override string ToString()
{
return "车名:" + name + "; 号:" + num;
}
}
}

浙公网安备 33010602011771号