Delegate in a where clause

I can define a delegate and write the query like this. Func<string, bool> filter = s => s.Length == 5; IEnumerable<string> query = names.Where(filter) ...