有一个包含通用列表的数组列表。如何访问通用列表中的变量?但我想通过数组列表访问变量。
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]);
}
如何通过数组列表打印变量?
答案 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
。为避免这种情况,您可以使用is
或as
运算符来检查类型是NewList
,还是可以使用OfType
方法为您执行此操作:
foreach(var list in TheList.OfType<NewList>())