美文网首页
C# Enumerable.TakeWhile 方法

C# Enumerable.TakeWhile 方法

作者: 三十五岁是码农 | 来源:发表于2017-12-25 21:47 被阅读0次

官方文档解释

The TakeWhile<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>) method tests each element of source by using predicate and yields the element if the result is true. Enumeration stops when the predicate function returns false for an element or when sourcecontains no more elements.

TakeWhile 方法

从集合开头提取元素,这个函数的定义与Skip()类似。

int[] myAry = {1,2,3,4,5,6,7,8,9,0};

var q1 = myAry.Take(3);//返回前面三个元素。里面的参数是指要返回元素的数量。

var q2 = myAry.TakeWhile((num,index)=>index<4);

//返回索引小于3的元素,这里可以有1个或2个参数,第一个参数为元素的值,第二个参数是元素的索引。

特别注意,TakeWhile()从集合的第一个元素开始,使用参数进行计算(index<4),如果返回true提取并继续判断下一个元素。如果返回false则停止判断,返回集合中被提取的元素。

所以如果上面是这样的myAry.TakeWhile((num,index)=>index>4);则返回0个元素,因为他判断第一个就不成立了,所以直接就返回了,不继续判断下面的元素了。

Where()方法将返回所有的元素根据条件。

TakeWhile()方法,从集合开头根据条件判断元素,如果条件为false,则不进行对后面元素的判断。

result.TakeWhile((judge,index) => index == result.ToList().Count-1);

相关文章

  • C# Enumerable.TakeWhile 方法

    官方文档解释 The TakeWhile(IEnumerable, Func<...

  • Unity WebGL与jslib相互调用的注意事项

    方法1:将C#方法传给js,js调用方法回调返回的方式 C# 参考链接:WebGL throwing abort(...

  • C#匿名函数

    在 2.0 之前的 C# 版本中,声明委托的唯一方式是使用命名方法。 C# 2.0 引入匿名方法,在 C# 3.0...

  • unity3d c#调用java

    c#调用java非静态方法 C#调用静态类,静态方法 ; CustomClass的静态类,SetData是它的静...

  • C#字符串比较方法

    C#字符串比较方法 用C#比较字符串有多种方法,如: string.Compare(x,y); string.Eq...

  • C# 访问修饰符

    C# 【方法】默认访问级别 : private C# 【类】和【结构体】默认访问级别 : internal 1.命...

  • 匿名委托Lambda表达式

    2种形式都是声明委托的形式 2.0以前 C# 命名方法是声明委托的唯一方法 C# 2.0 之后引入匿名方法 C#3...

  • C#方法

    C# 中定义方法 当定义一个方法时,从根本上说是在声明它的结构的元素。在 C# 中,定义方法的语法如下: 下面是方...

  • 2019-12-16 C# 获取当前方法的名称空间、类名和方法名

    C# 获取当前方法的名称空间、类名和方法名称

  • U3D_03_13

    关于C#的编程知识 注意了:C#扩展方法的声明必须是静态类和静态方法,你看这里都标注了static就是这个原因,使...

网友评论

      本文标题:C# Enumerable.TakeWhile 方法

      本文链接:https://www.haomeiwen.com/subject/gwyrgxtx.html