Módszer (tömb, int32, tömb, int32, int32) (rendszer)

És sourceArray destinationArray paramétereket kell azonos dimenziók száma. Ezen kívül destinationArray kellett volna jelölni, és rendelkezniük kell megfelelő számú elemet, kezdve destinationIndex helyzetben, az összes másolt adatokat.







Ha sourceArray és destinationArray átfedés, ez a módszer úgy viselkedik, mintha az eredeti értékek sourceArray mentett egy ideiglenes helyre, mielőtt destinationArray felülírja.

Ez a módszer egyenértékű a normál funkciói C / C ++ memmove. helyett memcpy.

A tömbök olyan hivatkozási típus vagy egy érték típusát. Casting végezzük, ha szükséges.

Ha a másolás a tömb hozzáférés típusa értékét minden egyes elem kicsomagolt, majd másolni. Amikor a másolás az értékeket a tömb típus referencia típusú csomagoló elem minden átalakítás, majd másolni.

Ha a másolás a tömb referencia típus vagy egy érték típusú tömb objektum, objektum tárolására létrehozott minden egyes érték vagy referencia, majd másolni. Másolás esetén az objektum nem lehet hivatkozni típus vagy egy érték típusú tömb és a cél tömb InvalidCastException kivétel történik.

Ha sourceArray destinationArray mind tömbök és típusai, vagy mindkét típusú objektum tömb. Ez végzett tökéletes másolata. Hiányos copy Array - új Array hivatkozásokat tartalmazó ugyanazokat az elemeket, mint az eredeti Array. Elemei önmagukban vagy bármilyen kapcsolatot elemek nem másolhatók. Ezzel szemben a mély másolatának Array példányban az elemet, és az említett elemek közvetlenül vagy közvetve.







ArrayTypeMismatchException létre, ha az elrendezések inkompatibilis fajta. fajta kompatibilitási meghatározása a következő:

Típus nem kompatibilis is.

Érték típusa kompatibilis tárgya és interfész típusa által végrehajtott ez az érték típusát. A típus a értéket tekintjük, hogy csatlakozik az interfész csak akkor hajtja végre ezt a felületet közvetlenül. Nincs kapcsolat típusok nem kompatibilisek.

Két beépített (előre) típusú érték kompatibilis, ha a másolási folyamat a forrás típusát a cél típus elterjedését átalakítani. Szélesítése átalakítás nem vezet az adatvesztést, míg a szűkítő konverzió vezethet adatvesztés. Például konvertáló egy 32 bites előjeles egész 64-bites előjeles egész szélesedik konverziót és a konverzió 64-bites előjeles egész 32-bites előjeles egész transzformációs szűkül. További információ a változásokat, lásd. A konvertálás oldalunkon.

Típusú integrált értékek (felhasználó) csak kompatibilis is.

Átigazolások támogatja implicit konverzió a Felsorolás és annak bázis típusú.

Ha minden egyes eleme a tömb igényel sourceArray működtetés (például, a alap osztály a származtatott osztály vagy interfész az objektum) és egy vagy több elemet nem lehet, átalakíthatunk megfelelő típusú destinationArray. InvalidCastException kivétel történik.

Ha ez a módszer kivételt dob, amikor a másolás állapotát destinationArray definiálatlan.

Ez a módszer egy O (n) műveleteket, ahol n - hossza.