Linq-Extensions,代码不会 return even values c#
Linq-Extensions, code won't return even values c#
我有一个关于 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 命令的行为方式。
我有一个关于 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 命令的行为方式。