C# 找出泛型集合中的满足一定条件的元素 List.Wher()

  • Post author:
  • Post category:其他


在学习的过程中,发现泛型集合List<T>有一个Where函数可以筛选出满足一定条件的元素,结合Lambda表达式使用特别方便,写出来与大家分享。

1.关于Func<>

Func是一种有任意个输入参数,有一个返回值的委托,在使用的过程中,Func<in,in,out>,前n-1个是输入参数类型,第N个是输出参数类型。

如Fun<int,int,bool> compare=(x,y)=>{return x>y;};

表示定义一个 两个输入参数为int类型的,输出类型为bool类型的委托。

2.Where()

可以看到 以List<string>为例子,改where的参数为Func<string,bool>的委托,也就是说是一个输入值为string类型,输出为bool类型的委托。 如果返回为真,则该元素会被添加到IEnumerable中,通过对IEnumerable的遍历,可以将符合条件的每个元素输出。

3.代码片段

 List<string> names = new List<string>();
            names.Add("wangyang");
            names.Add("litong");
            names.Add("yangjie");

            IEnumerable<string> ie = names.Where((name) => { return name.Length < 7; });
            foreach (var VARIABLE in ie)
            {
                Console.WriteLine(VARIABLE);
            }



版权声明:本文为only_yu_yy原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。