2013-02-19 91 views
-5

我有这样的建筑列表与阵列

List<int[]> nodeIds = new List<int[]>(); 

我可以得到每个元素从int[]?我该怎么办呢?

+0

学习一些编程的基础知识,问这样的问题之前, – Nickolaus 2013-02-19 08:44:10

回答

0

您有Listint[]所以您需要做的是获取List中每个项目的每个元素。你必须使用嵌套循环 - 一个在列表上,另一个在当前考虑的列表项的数组上。

1

您可以使用LINQ Enumerable.SelectMany方法拉平序列合并为一个序列:

IEnumerable<int> allIds = nodeIds.SelectMany(x => x); 

更新:如果您需要在产生的序列只有唯一的ID,然后谄媚序列之后申请也Enumerable.Distinct

0

类似:

foreach(var nodeId in nodeIds) 
{ 
    foreach(var id in nodeId) 
    { 
     //do stuff with id 
    } 
} 

nodeIds[0][0] 
3

例如:

foreach(int[] items in nodeIds) 
    foreach(int item in items) 
    // do something with item 
0

如果你想从列表中的所有阵列的所有整数,则可以使用SelectMany方法IEnumerable

IEnumerable<int> allIDs = nodeIds.SelectMany(a => a); 

可以使用foreach枚举结果或对结果进行汇总等