System.Array. does not contain a definition for "ToList"

The ToList method you are looking for is an extension method. Try adding this using directive to the top of your file:

using System.Linq;

By adding this using directive you are indicating to the compiler that any extension methods in that namespace should be imported. It's kind of a shame that there isn't more help from Visual Studio around importing extension methods (ReSharper does this rather nicely).


You can also do this without .toList, saves including an entire library for no real reason.

new List(array)


In case someone stumbles on this questions after googling...

I had the exact same problem in Razor views and adding using System.Linq at the top didn't help.

What did help is calling .Cast() before using Linq extension methods:

myArrayVariable.Cast<SomeClass>().ToList() //ok, NOW ToList works fine