LINQ のトリッキーな問題について質問があります (ほとんどトリッキーです!)。
次のlinqQueryを書くことができます
string[] digits = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" };
var linqQuery= digits.Where((digit, index) => digit.Length < index);
Enumerable.Where<TSource>(IEnumerable<TSource>, Func<TSource, Int32, Boolean>)
クエリ構文を使用して、Enumerable オーバーロード メソッドを利用する
var linqQuery = from ...
where ...
select ...;
?
メソッドEnumerable.Where<TSource>(IEnumerable<TSource>, Func<TSource, Int32, Boolean>)
はInt32
パラメーターをソース要素のインデックスとして使用します。このメソッドは、他の Enumberable オーバーロードされたメソッドではなく、クエリ構文から推測できるのではないかと思いますEnumerable.Where<TSource> Method (IEnumerable<TSource>, Func<TSource, Boolean>)
。
ここでMSDNの参照