欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C# List中FindAll用法的一些简单示例

程序员文章站 2024-02-25 17:52:15
如下所示:复制代码 代码如下:using system;using system.collections.generic; public partial class li...

如下所示:

复制代码 代码如下:

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