Linq-Extensions,代码不会返回偶数值c#
问题描述:
我有一个关于使用lambda表达式的问题。Linq-Extensions,代码不会返回偶数值c#
在教科书中有一个短赋值,其中给出了一系列整数0,2,4,8,7,10,3,2
,从第三项开始,只有整数值将被返回,使用Skip()
和TakeWhile()
。我想我说得对,但只有4,8
被退回,所以我偷偷摸摸地看了解解决方案,而我的解决方案实际上是一样的。
你们能帮我吗?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SkipTake
{
class Program
{
static void Main(string[] args)
{
int[] sequence= new int[] { 0, 2, 4, 8, 7, 10 , 3, 2 };
var select = sequence.Skip(2).TakeWhile(n => n % 2 ==0);
foreach (var item in select)
Console.WriteLine(item);
}
}
}
答
TakeWhile
将停在7使用WHERE子句
var select = sequence.Skip(2).Where(n => n % 2 ==0);
答
处理该是多么TakeWhile命令的行为项目“7”时,您的查询停止。
你是对的!一旦Predicate返回“false”,就是这样。我应该更精确地阅读>。