Jag har en array med objekt och jag vill kopiera över objektet i en position med objektet i en annan. Jag förstår inte hur man gör för att kopiera objekt. Det skall alltså bli ett nytt objekt och ingen referens. Tack på förhand! Du kopierar inte över objektet utan du byter bara referens... i en array finns ju egentligen bara pekare till "riktiga" objekt. Ex: Rasmus, Tack för era svar. Det jag vill göra är alltså en djup kopiering. Det första svaret var väl en grund? Vad menas med att själv iterera över klassen? Mina objekt innehåller hundratals underobjekt som tillväxer och försvinner slumpmässigt (jag håller på med neurala nätverk). Jag måste väl inte säga obj1.egenskap=obj2.egenskap för alla dem?! Rasmus,Kopiera objekt
Sv: Kopiera objekt
MinKlass[] arrayAvMinKlass=new MinKlass[2];
MinKlass ett=new MinKlass();
arrayAvMinKlass[0]=ett;
MinKlass tvao=new MinKlass();
//ångrar mig
arrayAvMinKlass[0]=tvao;
arrayAvMinKlass[1]=ett;
Hoppas det hjälpte
Sv: Kopiera objekt
Du måste välja om du vill göra en grund eller djup kopiering av din array. För att göra en grund kopiering så kan du använda <b>Clone</b> metoden på din array. För att göra en djup kopiering måste du själv iterera över dina objekt. Definitionen på de olika typerna av kopiering är enligt MSDN
<info>
A shallow copy of an Array copies only the elements of the Array, whether they are reference types or value types, but it does not copy the objects that the references refer to. The references in the new Array point to the same objects that the references in the original Array point to.
In contrast, a deep copy of an Array copies the elements and everything directly or indirectly referenced by the elements.
</info>Sv: Kopiera objekt
Sv:Kopiera objekt
Som tur är så kan vi använda oss av <b>Array.CopyTo</b> metoden för att göra en djupkopiering. Skillnaden mellan dem beskrivs med följande
<info>
What’s the difference between the System.Array.CopyTo() and System.Array.Clone()?
The first one performs a deep copy of the array, the second one is shallow. A shallow copy of an Array copies only the elements of the Array, whether they are reference types or value types, but it does not copy the objects that the references refer to. The references in the new Array point to the same objects that the references in the original Array point to. In contrast, a deep copy of an Array copies the elements and everything directly or indirectly referenced by the elements.
</info>
Hoppas det hjälper =)
<b>Johan -></b> Tackar! It's good to be back, även om det är en mjukstart. Inköpandet av en lägenhet har tagit sjukt mycket av min tid och det är först nu som jag börjat hitta lite tid igen =)