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 ; }
}


}

 

转载于:https://www.cnblogs.com/master-zhu/archive/2010/05/13/1734568.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值