Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Kopiera objekt

Postades av 2005-04-20 05:24:11 - Rasmus Ågren, i forum c# (c-sharp), Tråden har 6 Kommentarer och lästs av 768 personer

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!


Svara

Sv: Kopiera objekt

Postades av 2005-04-20 07:33:13 - Johan Bovin

Du kopierar inte över objektet utan du byter bara referens... i en array finns ju egentligen bara pekare till "riktiga" objekt. Ex:

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


Svara

Sv: Kopiera objekt

Postades av 2005-04-20 08:38:39 - Andreas Håkansson

Rasmus,

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>


Svara

Sv:Kopiera objekt

Postades av 2005-04-20 10:07:22 - Johan Normén

Andreas,

Kul att se att du vaknat igen :-)


Svara

Sv: Kopiera objekt

Postades av 2005-04-20 10:40:05 - Rasmus Ågren

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?!


Svara

Sv:Kopiera objekt

Postades av 2005-04-20 10:47:25 - Rasmus Ågren

Nej, jag hade nog missförstått. Johans metod är väl rätt ändå?


Svara

Sv:Kopiera objekt

Postades av 2005-04-20 10:51:17 - Andreas Håkansson

Rasmus,

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 =)


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 165
27 952
271 704
635
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies