我有兩個方法,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