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);