优秀的编程知识分享平台

网站首页 > 技术文章 正文

C#夯实基础-Lambda在List中的使用

nanyue 2025-02-21 14:35:27 技术文章 2 ℃

在C#中基本类型比如List ,Dictionary,数组等都有委托来实现相关的操作。此时Lambda表达式就可以使用了.

实例1,查找字符串List的包含a的元素

代码

//字符串型的list
List lstInfo = new List() { "abc", "hello", "ok", "good", "bye" };

查询当前List每项包含o字符的所有项

在List这个基本类型有一个方法FindAll的基本方法


可以发现FindAll中使用了一个委托

参数 match 是一个 Predicate 委托,用于定义要搜索的元素应满足的条件。

public delegate bool Predicate(T obj);

Predicate是返回bool型的一个委托

最终的代码是

        public static void DoTest4()
        {
            //字符串型的list
            List lstInfo = new List() { "abc", "hello", "ok", "good", "bye" };

            //查找当前list中的每一项包含o字符的
           var lstNew = lstInfo.FindAll(x =>
            {
                if (x.Contains("o"))
                {
                    return true;
                }
                else
                {
                    return false;
                }
            });

            foreach (string s in lstNew)
            {
                Console.WriteLine(s);
            }

        }

返回的结果是:


同样的方法,我们可以查看比如List的其他使用了委托的方法,都可以使用Lambda表达式来对List进行操作。

其他的方法,可以参考MSDN或者在当前的List的Find方法F1进行C#本身已经定义的方法参数

List.Find查找一个元素


List.Sort排序方法


另外说明一下,委托的作用就是将实现交给用户 ,本身只是起到一个关键返回结果的的作用,根据返回结果,对象根据结果进行相应的调整。

最近发表
标签列表