CodeBlanks Logo Icon CodeBlanks

Array.Copy

C# kursu · Başlangıç · Ders 62/116

Array.Copy ile dizinin bir kısmını kopyalamayı öğrenirsin.

Array.Copy

Array.Copy bir dizinin elemanlarını başka bir diziye kopyalar. En sık kullanılan biçimi üç parametrelidir: Array.Copy(source, destination, length). Kaynaktan belirtilen sayıda eleman alıp hedef dizinin başına yazar.

Örneğin int[] src = { 1, 2, 3 }; int[] dst = new int[3]; Array.Copy(src, dst, 3); çağrısından sonra dst dizisi { 1, 2, 3 } olur. Hedef dizinin önceden ayrılmış olması gerekir.

Beş parametreli Array.Copy

Daha ince kontrol için beş parametreli biçim kullanılır: Array.Copy(source, sourceIndex, destination, destinationIndex, length). Bu biçim kaynağın belirli bir dizininden belirli bir uzunlukta parçayı hedefin belirli dizinine kopyalar.

Örneğin Array.Copy(src, 1, dst, 0, 2) çağrısı src'nin 1. dizininden başlayıp 2 elemanı alır ve dst'nin 0. dizinine yazar. Böylece dizinin yalnızca bir aralığını kopyalamış olursun.

Uygulama Belirli aralığı kopyala

Verilen int[] src = { 5, 10, 15, 20, 25 }; dizisinden başlangıç dizini 1 ve uzunluk 3 olacak şekilde Array.Copy(src, 1, dst, 0, 3) ile int[] dst = new int[3]; dizisine kopyala. Sonra dst[0]'ı Console.WriteLine ile yazdır.

Örnek çözümü göster
Array.Copy(src, 1, dst, 0, 3); ile 1. dizinden 3 eleman kopyala, sonra Console.WriteLine(dst[0]); ile yazdır.
Örnek çözüm:
using System;

class Program
{
    static void Main()
    {
        int[] src = { 5, 10, 15, 20, 25 };
        int[] dst = new int[3];
        // src'nin 1. dizininden 3 elemanı dst'ye kopyala ve dst[0]'ı yazdır
        Array.Copy(src, 1, dst, 0, 3);
        Console.WriteLine(dst[0]);
    }
}

Kendini test et

  1. Array.Copy'den sonra dst[0] çıktısı nedir?

    int[] src = { 10, 20, 30, 40 };
    int[] dst = new int[4];
    Array.Copy(src, dst, 4);
    Console.WriteLine(dst[0]);
    • 20
    • 30
    • 40
    • 10
    Cevabı göster

    10 — Doğru. Tüm elemanlar kopyalanır; dst[0] = 10 olur.

  2. Array.Copy kısa çağrı

    int[] src = { 1, 2, 3 };
    int[] dst = new int[3];
    ____
    Console.WriteLine(dst[0]);
    Cevabı göster
    int[] src = { 1, 2, 3 };
    int[] dst = new int[3];
    Array.Copy(src, dst, 3);
    Console.WriteLine(dst[0]);
  3. İfadeyi anlamına eşle

    Array.Copy(src, dst, 3)
    Tümünü kopyalar
    Array.Copy(src, 0, dst, 0, 2)
    İlk 2'yi kopyalar
    new int[3]
    3 hücreli dizi
    dst[0]
    İlk eleman

Başlangıç bölümündeki tüm dersler