LINQ: Iterate through collection which implements IEnumerable only
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”); tokenList.Add(“World”); var tokens = from string token in tokenList select token; foreach (var item in tokens) Console.WriteLine(item);