2017-06-20 10 views
1

ラムダ式の使用について質問があります。Linq - 拡張、コードは偶数の値を返しません。C#

整数のシーケンス0,2,4,8,7,10,3,2が与えられ、3番目のアイテムから開始する短い割り当てがありました。整数値のみが返され、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); 
     } 
    } 
} 

答えて

3

TakeWhile TakeWhileコマンドがどのように動作するかである項目「7」を処理するときにあなたのクエリが停止した句

var select = sequence.Skip(2).Where(n => n % 2 ==0); 
+0

あなたは絶対に正しいです! Predicateが 'false'を返すと、それだけです。私はより正確に読むべきでした。>< –

0

7.で停止します。

関連する問題