The following works fine in LINQ, because an array implements IEnumerable <T>. string[] tokenArray = new string[2] { "Hello", "World" }; var tokens = from token in tokenList select token; foreach (var item in tokens) Console.WriteLine(item); But, the collections which do not implement IEnumerable<T> or IQueryable, can not be iterated in LINQ in the same way. To achieve the same, make use of a simple casting trick such as: ArrayList tokenList = new ArrayList(); tokenList.Add("Hello");...