您的位置:首页 > 其它

关于List中FindAll用法的一些简单示例

2016-08-29 17:52 453 查看
List.Find方法 检索与指定谓词所定义的条件相匹配的所有元素 


委托给拉姆达表达式:
如下所示:
     string listFind = mlist.Find(name=>
       {
          if(name.length>3)
             return true;
          return false;
       });




[csharp] view
plain copy

using System;  

using System.Collections.Generic;  

  

  

public partial class List : System.Web.UI.Page  

{  

    protected void Page_Load(object sender, EventArgs e)  

    {  

        CreateList();  

    }  

  

    private void CreateList()   

    {  

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

        list.Add("Compsognathus");  

        list.Add("Amargasaurus");  

        list.Add("Oviraptor");  

        list.Add("Velociraptor");  

        list.Add("Deinonychus");  

        list.Add("Dilophosaurus");  

        list.Add("Gallimimus");  

        list.Add("Triceratops");  

  

        //循环输出每一项  

        Response.Write("分别输出每一项:");  

        foreach (string str in list)  

        {  

            Response.Write(str + ";");  

        }  

  

        //查找字符串中包含saurus的字符,利用了匿名方法(第一种方式)  

        List<string> listFind = list.FindAll(delegate(string s){  

           return s.Contains("saurus");  

        });  

  

        Response.Write("查找到的字符串为:");  

        foreach (string str in listFind)  

        {  

            Response.Write(str+" ;");  

        }  

  

        //第二种方式,这两种方式实际上是等价的  

        Response.Write("</br>FindAll(EndWithSaurus):");  

        List<string> subList = list.FindAll(EndWithSaurus);//传入了一个方法名  

        foreach (string str in subList)  

        {  

            Response.Write(str+" ;");  

        }  

  

    }  

  

    private bool EndWithSaurus(string s)  

    {  

        if ((s.Length > 5) && (s.Substring(s.Length - 6).ToLower() == "saurus"))  

            return true;  

        else  

            return false;  

    }  

}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: