C# - 如何获取List <list <string>&gt;来自ArrayList?</list <string>

时间:2012-06-04 06:57:54

标签: c# multidimensional-array arraylist

我很难过,而且可能非常愚蠢 - 但我无法想出这个。

我有一些数据正在转换为ArrayList。数据如下所示:

  

[[“a”,“b”,“c”],[“1”,“2”,“3”]]

基本上,它是一个字符串数组的数组。我很想把它变成这种格式List<List<string>>,所以我可以轻松访问和操作数据 - 但我无法弄清楚如何做到这一点!

由于ArrayList没有强类型,我在尝试将ArrayList的第一个元素转换为有用的东西时陷入了困境。

正如您从下面的代码段中看到的那样,ArrayList有两个元素,每个元素有26个元素(代表我的数据,有两个26个字符串的条目)。

enter image description here

有人可以告诉我如何将上面数据的ArrayList表示转换为List<List<string>>吗?

谢谢!

3 个答案:

答案 0 :(得分:1)

在处理非泛型集合时,如果使用Cast<>()执行OfType<>()或过滤,则可以使用某些LINQ。假设这些是同类集合,您可以这样做:

arrList.Cast<IEnumerable>()
       .Select(enumerable => enumerable.Cast<string>()
                                       .ToList())
       .ToList();

答案 1 :(得分:0)

我相信这样做会

List<List<string>> listlistString = arrList.Cast<IEnumerable>()
    .Select(ienum => ienum.Cast<string>().ToList()).ToList(); 

答案 2 :(得分:0)

怎么样

List<List<string>> result = myarraylist.Cast<string[]>()
                                       .Select(x => x.ToList())
                                       .ToList();