我有两个方法,QuickSort()和ReverseArray()的类。当我传入数组时,它将首先调用QuickSort(),然后调用ReverseArray(),但是当它到达ReverseArray()时,它将从QuickSort()中反转已排序的数组,而不是反转所创建的原始数组。我究竟做错了什么?任何意见将不胜感激。具有多种排序方法
public class Program
{
private readonly int[] ProgramArray = new int[10] ;
public Program(int[] array)
{
ProgramArray = array;
QuickSort();
ReverseArray();
}
public void QuickSort()
{
var newarray = new int[10];
newarray = ProgramArray;
Array.Sort(newarray);
Print(newarray, "QuickSort");
}
public void ReverseArray()
{
var newarray = new int[10];
newarray = ProgramArray;
Array.Reverse(newarray);
Print(newarray, "Reversed");
}
public static void Print(int[] array, string methodname)
{
int[] newarray = array;
Console.Write(string.Format("{0}: ", methodname));
for (int i = 0; i < newarray.Length; i++)
{
Console.Write(newarray[i] + " ");
}
Console.Write("\n");
}
static void Main(string[] args)
{
var array = new int[10] { 12, 24, 3, 44, 5, 16, 7, 34, 23, 34 };
var program = new Program(array);
}
Thx..I'm居然不好意思,我从来没有新的是,我比较熟悉C#,我永远不要使用数组,我通常用列表。感谢帮助。 – TMan 2012-04-01 19:15:11
列表和所有其他集合类型都是相同的。 .NET Framework库中的绝大多数类型都是引用类型。 – 2012-04-01 19:33:06