delegate中的匿名方法

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;

namespace ConsoleApplication1
{
delegate string OldPerson_Delegate(Person p1,Person p2);

class Program
{
static void Main(string[] args)
{
Program p
= new Program();
OldPerson_Delegate
get = null;
get = p.GetOld;
List
<Person> p_arr = new List<Person>();
p_arr.Add(
new Person("zhu",20));
p_arr.Add(
new Person("zhang",33));
p_arr.Add(
new Person("", 11));
p_arr.Add(
new Person("jia", 111));

string name_old = "";

for (int i = 0; i < p_arr.Count-1; i++)
{
name_old
= get(p_arr[i], p_arr[i + 1]);//普通发发
//get = delegate(Person p1, Person p2) //匿名方法
//{
// string name = "";
// if (p1.Age > p2.Age)
// {
// name = p1.Name;

// }
// else
// {
// name = p2.Name;
// }
// return name;
//};
//name_old = get(p_arr[i], p_arr[i + 1]);

}


Console.WriteLine(
"最大年纪的人的名字是:"+name_old);

Console.ReadLine();


}
public string GetOld(Person p1,Person p2)
{
string name = "";
if (p1.Age > p2.Age)
{
name
= p1.Name;

}
else
{
name
= p2.Name;
}
return name;

}

}

//按照年龄比较,取出年龄最大的人
class Person
{
public Person(string name,int age) {
this.Age = age;
this.Name = name;
}
public string Name { set; get; }
public int Age { set; get; }
}


}

 

posted on 2010-05-13 15:06  Master zhu  阅读(287)  评论(0编辑  收藏  举报

导航