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

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

编码文章call10242025-02-01 3:40:2665A+A-

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

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

代码

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

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

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


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

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

public delegate bool Predicate<in T>(T obj);

Predicate是返回bool型的一个委托

最终的代码是

        public static void DoTest4()
        {
            //字符串型的list
            List<string> lstInfo = new List<string>() { "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排序方法


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

点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4