Ich habe eine Klasse mit zwei Methoden, A QuickSort() und ReverseArray(). Wenn ich das Array übergebe, wird zuerst QuickSort() und dann ReverseArray() aufgerufen, wenn es jedoch zu ReverseArray() kommt, kehrt es das sortierte Array von QuickSort() um, anstatt das ursprüngliche Array umzukehren. Was mache ich falsch? Jeder Rat würde sehr geschätzt werden.Mehrere Sortiermethoden haben
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..ich bin eigentlich peinlich, dass ich das nie neu, ich bin relativ vertraut mit C#, ich benutze einfach nie Arrays, ich verwende normalerweise List. Danke für die Hilfe. – TMan
Das gleiche gilt für Listen und alle anderen Sammlungsarten. Die meisten Typen in den .NET Framework-Bibliotheken sind Referenztypen. –