Every LINQ query returns either a single value or an object of type IEnumerable<T>. For now, all you need to know about that second type is that:

  • It works with foreach loops, just like arrays and lists
  • You can check its length with Count()

Since the single value type and/or the parameter type T is not always known, it’s common to store a query’s returned value in a variable of type var.

var is just an implicitly typed variable — we let the C# compiler determine the actual type for us. Here’s one example:

string[] names = { "Tiana", "Dwayne", "Helena" }; var shortNames = names.Where(n => n.Length < 4);

In this case shortNames is actually of type IEnumerable<string>, but we don’t need to worry ourselves about that as long as we have var!



Let’s practice using var with LINQ.

Create a variable of type var named shortHeroes and set it equal to this LINQ query:

from h in heroes where h.Length < 8 select h;

Use a foreach loop to print out each element in shortHeroes.


Create another variable of type var named longHeroes and set it equal to this LINQ query:

heroes.Where(n => n.Length > 8);

Use Count() to print the number of elements in longHeroes.

Folder Icon

Take this course for free

Already have an account?