私は、QuickSort()とReverseArray()という2つのメソッドを持つクラスを持っています。配列を渡すと、最初に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
リストや他のすべてのコレクションタイプと同じです。 .NET Frameworkライブラリの大部分の型は参照型です。 –