【发布时间】:2013-12-12 13:56:35
【问题描述】:
我想浏览一个列表并从中随机删除一个元素。
List<int> listArray = new List<int>();
int[] staticArray = new int[8];
listArray.Add(0);
listArray.Add(1);
listArray.Add(2);
listArray.Add(3);
listArray.Add(4);
listArray.Add(5);
listArray.Add(6);
listArray.Add(7);
while (listArray.Any()) {
int chosen = ra.Next(0, 8);
int loopIndex = 0;
bool ok = false;
if(listArray.Contains(chosen)) {
ok = true;
} else {
ok = false;
continue;
}
foreach (int item in cardIndexes.ToArray()) {
if (item == chosen && ok == true) {
staticArray[loopIndex].pathIndex = chosen;
listArray.Remove(chosen);
loopIndex++;
ok = false;
break;
}
}
if (!cardIndexes.Any()) break;
}
我不明白,这段代码在我看来是合乎逻辑的。 所以我们将遍历列表的副本(以便能够编辑它) 他们选择一个随机数并检查我是否拥有该列表。 然后如果是,则将其从列表中删除并将其分配给静态数组。 然后增加数组的索引以转到另一个元素。 如果我能得到一些帮助,我将不胜感激。
【问题讨论】:
-
这里有什么问题?
-
上面的代码做的不对。
-
cardIndexes 和 staticArray 缺少声明,你能发布它吗?
-
你完成了吗:List
listArray = new List (); ? -
什么是'ra',staticArray/cardIndexs的声明在哪里?
标签: c# arrays list loops foreach