Array.ConstrainedCopy(Array, Int32, Array, Int32, Int32) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
public:
static void ConstrainedCopy(Array ^ sourceArray, int sourceIndex, Array ^ destinationArray, int destinationIndex, int length);
public static void ConstrainedCopy(Array sourceArray, int sourceIndex, Array destinationArray, int destinationIndex, int length);
static member ConstrainedCopy : Array * int * Array * int * int -> unit
Public Shared Sub ConstrainedCopy (sourceArray As Array, sourceIndex As Integer, destinationArray As Array, destinationIndex As Integer, length As Integer)
Parametreler
- sourceIndex
- Int32
Kopyalamanın başladığı dizini sourceArray temsil eden 32 bitlik bir tamsayı.
- destinationIndex
- Int32
Depolamanın başladığı dizini destinationArray temsil eden 32 bitlik tamsayı.
- length
- Int32
Kopyalanacak öğe sayısını temsil eden 32 bitlik bir tamsayı.
Özel durumlar
sourceArray ve destinationArray farklı derecelere sahip.
Tür sourceArray , türüyle aynı veya türetilmiş destinationArray değildir.
içindeki sourceArray en az bir öğe türüne destinationArrayyayınlanamaz.
sourceIndex , öğesinin ilk boyutunun alt sınırından küçüktür sourceArray.
-veya-
destinationIndex , öğesinin ilk boyutunun alt sınırından küçüktür destinationArray.
-veya-
length, sıfırdan küçüktür.
length öğesinden sonuna kadar olan öğe sourceIndex sayısından sourceArraybüyüktür.
-veya-
length öğesinden sonuna kadar olan öğe destinationIndex sayısından destinationArraybüyüktür.
Açıklamalar
sourceArray ve destinationArray parametreleri aynı sayıda boyuta sahip olmalıdır. Türün sourceArray türüyle aynı veya türünden destinationArray türetilmiş olması gerekir; aksi takdirde, bir ArrayTypeMismatchException oluşturulur. aksine Copy, ConstrainedCopy herhangi bir işlem gerçekleştirmeden önce dizi türlerinin uyumluluğunu doğrular.
Çok boyutlu diziler arasında kopyalama yaparken dizi, satırların (veya sütunların) kavramsal olarak uçtan uca yerleştirildiği uzun bir tek boyutlu dizi gibi davranır. Örneğin, bir dizide her biri dört öğe içeren üç satır (veya sütun) varsa, dizinin başından altı öğe kopyalanırsa, ilk satırın (veya sütunun) dört öğesinin ve ikinci satırın (veya sütunun) ilk iki öğesinin tümü kopyalanacaktır. Üçüncü satırın (veya sütunun) ikinci öğesinden kopyalamaya başlamak için, sourceIndex ilk satırın (veya sütunun) üst sınırı ve ikinci satırın (veya sütunun) uzunluğu artı iki olmalıdır.
ve çakışıyorsasourceArray, bu yöntem özgün değerlerinin destinationArray üzerine yazılmadan önce sourceArray geçici bir konumda korunmuş gibi davranır.destinationArray
[C++]
Bu yöntem, standart C/C++ işlevine memmoveeşdeğerdir, ile eşdeğerdir memcpy.
Diziler başvuru türü veya değer türü diziler olabilir. ve sourceArray her ikisi de başvuru türü dizileriyse destinationArray veya her ikisi de türünde Objectdiziyse, sığ bir kopya gerçekleştirilir. basit bir Array kopyası, özgün Arrayile aynı öğelere başvurular içeren yeni Array bir kopyadır. Öğelerin kendileri veya öğeler tarafından başvuruda bulunan herhangi bir şey kopyalanmaz. Buna karşılık, bir dosyanın derin bir Array kopyası öğeleri ve öğeler tarafından doğrudan veya dolaylı olarak başvurulmuş her şeyi kopyalar.
Bu yöntem kopyalama sırasında bir özel durum oluşturursa, destinationArray değişmeden kalır; bu nedenle, ConstrainedCopy kısıtlanmış yürütme bölgesi (Cer) içinde kullanılabilir.
Bu yöntem, $n$ olan bir $O(n)$ işlemidir length.