Linq扩展,代码赢得';t返回偶数值c#

Linq扩展,代码赢得';t返回偶数值c#,c#,lambda,linq-to-objects,C#,Lambda,Linq To Objects,我有一个关于lambda表达式用法的问题 教科书中有一个简短的作业,其中给出了整数序列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.

我有一个关于lambda表达式用法的问题

教科书中有一个简短的作业,其中给出了整数序列
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 );

处理项目“7”时,您的查询将停止,这是TakeWhile命令的行为方式。

您完全正确!一旦谓词返回
false
,就到此为止。我应该读得更准确些>。