【发布时间】:2015-12-08 18:02:08
【问题描述】:
我想在某些条件下创建列表的子列表,但不知道如何。这是一个例子:
假设我们有从 1 到 5 的数字,每个数字都有一个子数组/数组。
1: 1 5 7 5 5 3 4 9
2: 0 1 2 3 4 6 3 4
3: 9 4 6 7 0 0 3 1
4: 4 6 3 7 8 0 0 1
5: 8 0 3 1 0 2 4 6
: 之后的数字我将保存在一个数组中以便快速访问。
现在我想首先创建一个大小为 5(数字 1 到 5)的列表,并在此条件下为每个数字创建一个子列表:
if(list[i] > (arr1[j] + 1))
{
//then save it in a sublist of the index i
}
我想要的输出是这样的:
List
[1]
[5]
[7]
[5]
[5]
[2]
[4]
[9]
[2]
[4]
[6]
[4]
.
.
.
[5]
[8]
我可以创建第一个列表
List<int> List1 = new List<int>();
for (int i = 0; i < 5; i++)
{
List1.Add(i);
}
但是我怎样才能创建子列表呢?
更新:我试过了
List<Tuple <int,int>> List1 = new List<Tuple <int,int>>();
但这无济于事。
【问题讨论】:
-
“我可以通过...创建第一个列表” 不,因为
List1.Add(j)无法编译。循环变量是i而不是j。这个问题不是很清楚,至少对我来说不是。 -
@TimSchmelter 我更正了。这是索引中的错字;)
-
我认为他想过滤掉小于它们所在索引的数字
-
为什么第二行的答案是
4 6 4,而不是3 4 6 3 4? -
@Saber:那么为什么最后一行是
8 6而不仅仅是8?(5 + 1 == 6)和6不应该出现