离墨

2017年12月13日学习简单委托的使用和扩展方法

继续今天第一节学习内容简单的委托使用和方法扩展

[1]先定义一个list<string>的集合

List<string> list=new List<string> ()

{

  " 2"," 5"," 10"," 50"," 88"

};

问题找出此集合中的大于字符串10的字符串

[2]用其中的自带方法来完成基本委托和方法扩展;

 在main方法外面写上一个静态方法

static bool FindAllDel(string str)

{

  return str.CompaerTo("10")>=0;

}

在main方法里面写

predicate<string> pre=new predicate(FindAllDel);

List<string> result=list.FindAll(pre);

for(string item in result)

{

  Console.writeLine(item);

}

Console.ReadLine();

【2】还可以用扩展方法来写

在项目中新增一个静态类

在类中写上一个静态方法

public static Class listExe

{

  public static List<string> MyFindAll(this List<string> list,predicate<string> whereDel)

  {

    //按照用户传进来的集合和方法来选择集合中满足条件的元素,并且选择出元素

    List<string> result =new List<string> () {};

    foreach( string item in list)

    {

      if(whereDel(item))

      {

        result.Add(item);

      }

    }

       return result;

  }

}

【3】在main中调用该扩展方法

  var result=list.MyFindAll(FindAllDel)

  foreach(string item in result)

  {

    Console.WriteLine(item):

  }

  Console.ReadLine();

第一节课学习完毕

posted on 2017-12-13 15:38  离墨  阅读(115)  评论(0)    收藏  举报

导航