Ich habe einige seltsame Probleme mit List in meiner C# -App. Es muss ein Zuteilungsfehler sein oder dass ich etwas falsch mache (ich bin ein durchschnittlicher C# -Entwickler). Lassen Sie mich ein Beispiel geben nah an meine Linien:C# "lustige" Probleme mit der Liste <String[]>
List<String[]> MyPrimaryList = new List<String[]>();
List<String[]> MySecondaryList = new List<String[]>();
String[] array;
String arrayList = "one,two,three,four,five";
array = arrayList.Split(',');
MyPrimaryList.Add(array);
MySecondaryList.Add(array);
MyPrimaryList[0][0] += "half";
So, jetzt würde ich zum ersten Wert in der ersten Reihe in MyPrimaryList erwarten zu sein „onehalf“ und „Eins“ in MySecondaryList. Aber mein Problem/Problem ist, dass beide Listen mit "onehalf" als ersten Wert im ersten Array in beiden Listen aktualisiert wird.
Haben Sie eine gute Erklärung? :)
DANKE !!
Sie das gleiche Array beiden Listen hinzufügen, so Sie zeigen beide auf das Array-Element, das Sie ändern. –
Sie fügen das gleiche Objekt zu beiden Listen hinzu - mit anderen Worten, es gibt nur ein 'Array', das Sie nirgends kopieren ... – tpeczek