Loads of ways. 1) Do it yourself. Create a new list. Use a foreach loop. Loop through every item in the array and add it to the list. 2) Use .CopyTo to copy it to a single dimensional array, then all .ToList on the single dimensional array. 3) If you using .net 3.5, refernce the System.Linq assembly as use the Cast method: IEnumerable asList; asList = myArray.Cast();
This give you an enumerable, which you can easily convert to a list if you want. The real question is why do you want a 2d array as a list? If you have data that is in 2 dimensions, why would you want to flatten it to 1 dimension. You can still use Foreach on a 2d array and loop over every element.
Simon