Search code examples
c#linq

lambda equivalent to collection.Count(predicate)


What would be a LINQ query-syntax equivalent for the following code

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

I tried this one, but it didn't compile:

var c = from number in numbers where number > 5 select numbers.Count;

this one didn't compile either:

var c = from number in numbers where number > 5 select new {numbers.Count};

Solution

  • You're close, just need to wrap the LINQ expression in parenthesis like this:

    var c = (from number in numbers where number > 5 select number).Count();