嘿,我有以下列表ASP.NET如何扭转名单阵列
List<int> pos = new List<int>();
for (int i = 0; i < combinedResults.Length; i++)
{
if (combinedResults[i])
{
pos.Add(i);
}
}
但它似乎是最后一个数组的项目是我想首先显示,所以我想知道的那些我怎么能扭转名单?
嘿,我有以下列表ASP.NET如何扭转名单阵列
List<int> pos = new List<int>();
for (int i = 0; i < combinedResults.Length; i++)
{
if (combinedResults[i])
{
pos.Add(i);
}
}
但它似乎是最后一个数组的项目是我想首先显示,所以我想知道的那些我怎么能扭转名单?
使用反向方法
pos.Reverse();
http://msdn.microsoft.com/en-us/library/b0axc2h2.aspx#Y400
替代然后,反向循环,甚至更好,确保数据以正确的方式进行,而且您不必保持所有这些位和bobs!
反向运行循环:事后
for (int i = combinedResults.length-1; i >= 0; i--)
或反向名单:
pos.Reverse()
您可以使用Reverse方法。
Array.Reverse(arranyName);
你可以只添加项目使用插入列表:
pos.Insert(0,i);
对于大多数语言的数组,在位置0处插入比在末尾插入要慢,因为您需要将整个数组移位。 – sverre 2011-04-15 14:45:45
反向循环确实是最好的解决方案,因为它不会增加任何额外开销(或很少)。另一种选择当然是在显示项目时向后循环。 – Guffa 2011-04-15 15:02:19