数组列表中的通用列表

时间:2014-11-17 17:05:13

标签: c# arrays list arraylist generic-list

有一个包含通用列表的数组列表。如何访问通用列表中的变量?但我想通过数组列表访问变量。

ArrayList TheList = new ArrayList();

List<NewType>[] GenericLists = new List<NewType>[4];

GenericLists[0].Add(variable);
       .
       . 
       .
       for (int i = 0; i < 4; i++)
            {
                TheList.Add(GenericLists[i]);
            }

如何通过数组列表打印变量?

1 个答案:

答案 0 :(得分:4)

您需要迭代ArrayList的项目并将每个项目投射到List<NewType>,然后您可以遍历列表中的项目并显示它们或您想要的任何内容......

foreach(var list in TheList)
{
   var currentList = (List<NewType>)list;
   ...
}

或者您可以使用Linq方法进行投射:

foreach(var list in TheList.Cast<NewList>())

这些假定数组列表中的所有项都是NewList类型。否则,您将在运行时获得InvalidCastException。为避免这种情况,您可以使用isas运算符来检查类型是NewList,还是可以使用OfType方法为您执行此操作:

foreach(var list in TheList.OfType<NewList>())