关闭

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

599人阅读 评论(0) 收藏 举报
分类:
List.Find方法 检索与指定谓词所定义的条件相匹配的所有元素 
委托给拉姆达表达式:
如下所示:
     string listFind = mlist.Find(name=>
       {
          if(name.length>3)
             return true;
          return false;
       });
[csharp] view plain copy
  1. using System;  
  2. using System.Collections.Generic;  
  3.   
  4.   
  5. public partial class List : System.Web.UI.Page  
  6. {  
  7.     protected void Page_Load(object sender, EventArgs e)  
  8.     {  
  9.         CreateList();  
  10.     }  
  11.   
  12.     private void CreateList()   
  13.     {  
  14.         List<string> list = new List<string>();  
  15.         list.Add("Compsognathus");  
  16.         list.Add("Amargasaurus");  
  17.         list.Add("Oviraptor");  
  18.         list.Add("Velociraptor");  
  19.         list.Add("Deinonychus");  
  20.         list.Add("Dilophosaurus");  
  21.         list.Add("Gallimimus");  
  22.         list.Add("Triceratops");  
  23.   
  24.         //循环输出每一项  
  25.         Response.Write("分别输出每一项:");  
  26.         foreach (string str in list)  
  27.         {  
  28.             Response.Write(str + ";");  
  29.         }  
  30.   
  31.         //查找字符串中包含saurus的字符,利用了匿名方法(第一种方式)  
  32.         List<string> listFind = list.FindAll(delegate(string s){  
  33.            return s.Contains("saurus");  
  34.         });  
  35.   
  36.         Response.Write("查找到的字符串为:");  
  37.         foreach (string str in listFind)  
  38.         {  
  39.             Response.Write(str+" ;");  
  40.         }  
  41.   
  42.         //第二种方式,这两种方式实际上是等价的  
  43.         Response.Write("</br>FindAll(EndWithSaurus):");  
  44.         List<string> subList = list.FindAll(EndWithSaurus);//传入了一个方法名  
  45.         foreach (string str in subList)  
  46.         {  
  47.             Response.Write(str+" ;");  
  48.         }  
  49.   
  50.     }  
  51.   
  52.     private bool EndWithSaurus(string s)  
  53.     {  
  54.         if ((s.Length > 5) && (s.Substring(s.Length - 6).ToLower() == "saurus"))  
  55.             return true;  
  56.         else  
  57.             return false;  
  58.     }  
  59. }  

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:135607次
    • 积分:2328
    • 等级:
    • 排名:第16664名
    • 原创:50篇
    • 转载:288篇
    • 译文:1篇
    • 评论:17条
    最新评论