Where returns an empty sequence if there are no matches; what is better! I would remove meaningless
.Select(x=> x)
and use foreach directly without null check or count check
var result = list.Where(x => x > 5);
foreach (var item in result)
{
Console.WriteLine(item);
}