一般方法是利用Array.Reverse方法,例:Int [] someArray = new int [4] {1,2,3,4,5};
Array.Reverse(someArray);
可以尝试以下自己写的方法。
public
static
void
DoReversal
<
T
>
(T[] theArray)
{
T tempHolder = default(T);
if (theArray.Length > 0)
{
for (int counter = 0; counter < (theArray.Length / 2); counter++)
{
tempHolder = theArray[counter];
theArray[counter] = theArray[theArray.Length - counter - 1];
theArray[theArray.Length - counter - 1] = tempHolder;
}
}
else
{
Trace.WriteLine("Nothing to reverse");
}
}
{
T tempHolder = default(T);
if (theArray.Length > 0)
{
for (int counter = 0; counter < (theArray.Length / 2); counter++)
{
tempHolder = theArray[counter];
theArray[counter] = theArray[theArray.Length - counter - 1];
theArray[theArray.Length - counter - 1] = tempHolder;
}
}
else
{
Trace.WriteLine("Nothing to reverse");
}
}
此方法类似排序方法中的二分法,此方法的好处是他的执行速度几乎是 Array.Reverse() 的两倍,同时 Array.Reverse() 直接受引用类型,这意味着,对于 int 值类型, Array.Reverse() 方法中会发生装箱操作。因此利用 DoReversal 函数可以提高性能。