Elv*_*vin 17 c# linq collections
我想将一个转换ArrayList为List<string>使用LINQ.我试过ToList()但这种方法不起作用:
ArrayList resultsObjects = new ArrayList();
List<string> results = resultsObjects.ToList<string>();
Run Code Online (Sandbox Code Playgroud)
Jon*_*eet 30
您的代码实际上显示的是一个List<ArrayList>而不是一个ArrayList.如果你真的只有一个ArrayList,你可能想要:
ArrayList resultObjects = ...;
List<string> results = resultObjects.Cast<string>()
.ToList();
Run Code Online (Sandbox Code Playgroud)
该Cast调用是必需的,因为它ArrayList是弱类型的 - 它只实现IEnumerable,而不是IEnumerable<T>.LINQ to Objects中的几乎所有LINQ运算符都基于IEnumerable<T>.
这是假设ArrayList真正的值是字符串.如果不是,您需要向我们提供有关您希望如何将每个项目转换为字符串的更多信息.