Dizi Yeniden Boyutlandırma

Dizileri boyutlarını dinamik olarak değiştirek bir metod yoktur. Ama aşağıdakine benzer bir metod ile bu ihtiyacınızı karşılayabilirsiniz. Mantık basit. Yeni boyutta bir dizi oluştur, eski dizi içeriğini buraya aktar…

Basit bir konsol uygulamasında örnek vermek gerekirse.

    1 public static System.Array ResizeArray(System.Array oldArray, int newSize)

    2 {

    3     int oldSize = oldArray.Length;

    4     System.Type elementType = oldArray.GetType().GetElementType();

    5     System.Array newArray = System.Array.CreateInstance(elementType, newSize);

    6     int preserveLength = System.Math.Min(oldSize, newSize);

    7     if (preserveLength > 0)

    8         System.Array.Copy(oldArray, newArray, preserveLength);

    9     return newArray;

   10 }

   11 

   12 // Test for ResizeArray().

   13 public static void Main()

   14 {

   15     int[] a = { 1, 2, 3 };

   16     a = (int[])ResizeArray(a, 5);

   17     a[3] = 4;

   18     a[4] = 5;

   19     for (int i = 0; i < a.Length; i++)

   20         System.Console.WriteLine(a[i]);

   21 }       

Yazı oluşturuldu 141

Bir yanıt yazın

Benzer yazılar

Aramak istediğinizi üstte yazmaya başlayın ve aramak için enter tuşuna basın. İptal için ESC tuşuna basın.

Üste dön