尝试使用c#了解LINQ代码

Som*_*ody 3 c# linq

我不确定这是否是正确的问题,如果没有,我很抱歉.

使用与以下相同的代码:

C#LINQ表达式问题

string[] digits = { "zero", "one", "two", "three", "four", "five", 
                    "six", "seven", "eight", "nine" };
var shortDigits = digits.Where((digit, index) => digit.Length < index);
foreach (var sD in shortDigits)
{
    Console.WriteLine(sD);
}
// Output:
// five
// six
// seven
// eight
// nine
Run Code Online (Sandbox Code Playgroud)

系统如何知道digit数字中的项目以及index数组中的位置?

Mar*_*ers 6

Where扩展方法的特定重载被定义为接受Func第一个参数是元素的位置,第二个参数是该元素的索引.这在文档中明确提到:

谓语

类型: System.Func<TSource, Int32, Boolean>

用于测试条件的每个源元素的函数; 函数的第二个参数表示源元素的索引.

强调我的.