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

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

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

代码

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

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

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


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

可以发现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);
            }

        }

返回的结果是:


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

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

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

List.Find查找一个元素


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

List.Sort排序方法

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


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

展开阅读全文

页面更新:2024-05-13

标签:夯实   表达式   字符串   字符   元素   定义   作用   参数   类型   代码   基础   方法

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top