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

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

阅读更多
上一篇Unity3D 自定义树组件(树形菜单)
下一篇C# 输出目录结构树到Console或文本文件
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭