lambda等价于collection.Count(谓词)

Mit*_*ten 3 c# linq

什么是lambda表达式等效于以下代码

int[] numbers = { 3, 4, 5, 6, 7, 8 };
int count = numbers.Count(x => x > 5 == true); 
Run Code Online (Sandbox Code Playgroud)

我试过这个,但它没有编译:

var c = from number in numbers where number > 5 select numbers.Count;
Run Code Online (Sandbox Code Playgroud)

这个也没有编译:

var c = from number in numbers where number > 5 select new {numbers.Count};
Run Code Online (Sandbox Code Playgroud)

aja*_*987 6

你很接近,只需要将LINQ表达式包装在括号中,如下所示:

var c = (from number in numbers where number > 5 select number).Count();
Run Code Online (Sandbox Code Playgroud)

  • 我认为你的意思是"选择数字",虽然你所拥有的将编译并给出正确的结果. (2认同)