我在C#中使用List函数并使其成为随机参数。这是我的代码。如果输出如下列表:15 20 10 3 6 如何通过上面的列表重新输出再次输出,如:6 3 10 20 15
List<int> dso = new List<int>(20);
Random a = new Random();
for (int i = 0; i < dso.Capacity; i++)
{
int k = a.Next(100);
dso.Add(k);
Console.Write("{0} ", k);
}
for(int i=dso.Capacity;i<20;i--)
{
Console.Write("{0} ", dso[i]);
}
答案 0 :(得分:0)
如果你想要for
循环,它应该是
for (int i = dso.Count - 1; i >= 0; i--) {
Console.Write("{0} ", dso[i]);
}
评论:
Count
是实际列表项的数量; Capacity
是保留记忆List<T>
基于dso.Count - 1
i >= 0
但是,我建议使用String.Join
和 Linq 而不是循环让.Net为您完成所有工作:
// List has its own Reverse() method so we have to put Reverse<int>() to use Linq one
Console.Write(String.Join(" ", dso.Reverse<int>()));
答案 1 :(得分:0)
如果您只是试图反转列表顺序,请使用Reverse(),如下所示:
dso.Reverse();
foreach (var number in dso)
{
Console.Write(number + " ");
}
由于您似乎只是简单地将列表完整地写出来,因此您可以使用foreach loop。但是,如果您需要更多地控制列表中的起始位置或在列表中跳转,那么for循环会更好。