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) 编辑 收藏 举报