• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
冥海
博客园    首页    新随笔    联系   管理    订阅  订阅

我看委托(二)

1.为什么要用到委托,委托有什么意义?
委托就是在一段几乎相似的代码中,抽取那不同的代码,把它封装到一个方法里,通过调用不同的方法,从而达到改变整段代码的目的。更为简单的说就是尽可能的达到代码模块化的目的。
class Program
{
static void Main(string[] args)
{
       List<int> list1 = new List<int>();
       list1.Add(10);
       list1.Add(20);
       list1.Add(30);
       list1.Add(-15);

       int j = list2(list1, shengxu);
       Console.WriteLine(j);
       Console.ReadKey();

}

static int list2(List<int> list1, adelegate adelegate1)
{
     int max = list1[0];
     List<int> list2 = new List<int>();
     foreach (int i in list1)
        {
            if (adelegate1(max, i)) 
//if (shengxu(max, i))  原先可以直接调用方法的名称。
//i>j 是这段代码中不相同的地方,把它抽取到另外一个方法中,通过委托进行调用。
             {
                    max = i;
             }

        }
      return max;

}
      
static bool shengxu(int i, int j)
{
    return i > j;

}


}

delegate bool adelegate(int i, int j);

posted @ 2011-04-18 11:04  冥海  阅读(92)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3