C# 带数组的列表

C# 带数组的列表,c#,arrays,list,C#,Arrays,List,我有这样的结构 List<int[]> nodeIds = new List<int[]>(); 我可以从int[]中获取每个元素吗?我可以如何获取它?您有一个int[]列表,所以您需要做的是获取列表中每个项目的每个元素。您必须使用嵌套循环进行此操作-一个在列表上,另一个在当前考虑的列表项数组上。您可以使用Linq方法将序列展平为一个序列: IEnumerable<int> allIds = nodeIds.SelectMany(x => x); 更

我有这样的结构

List<int[]> nodeIds = new List<int[]>();
我可以从int[]中获取每个元素吗?我可以如何获取它?

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

您可以使用Linq方法将序列展平为一个序列:

IEnumerable<int> allIds = nodeIds.SelectMany(x => x);
更新:如果在生成的序列中只需要唯一的ID,则在修饰序列后也应用。

类似于:

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

例如:

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

如果要从列表中的所有数组中获取所有整数,可以使用IEnumerable的SelectMany方法:


您可以使用foreach枚举结果或对结果执行聚合等操作。

在提出此类问题之前,先学习一些编程基础知识
foreach(int[] items in nodeIds)
  foreach(int item in items)
    // do something with item
IEnumerable<int> allIDs = nodeIds.SelectMany(a => a);