CreateInstance metodu ile aşağıdaki şekilde bir dizi nesnesi oluşturulabilir.
Array dizi = Array.CreateInstance(typeof(int),5);
foreach(int i in dizi)
Console.WriteLİne(i);
Yukarıdaki deyimlerle int türünden 5 elemanlı bir dizi oluşturuluyor.Bu dizinin elemanlarını foreach döngüsü ile yazdırdığımızda dizinin bütün elemanlarının 0 a atandığını görürürz.CreateInstance metodunu farklı şekillerde çağırabiliriz .İlk parametre her zaman Type Türünde olmalıdır.Yukarıdaki kullanımda typeof operatörü ile int türünü type sınıfı karşılığı elde ediliyor.
Aşağıda CreateInstance metodunun bazı değişik kullanımları ve kısa açıklamaları yer almaktadır
1-CreateInstance(Type,int,int,int);
Bu metot ile parametre ile verilen eleman sayılarda type türünden 3 boyutlu diziler oluşturulur.
2-CreateInstance(Type,int);
Type türünden int ile verilen sayı kadar elemanı olan bir dizi nesnesi oluşturulur.
3-CreateInstance(Type,int[]);
Çok boyutlu diziler oluşturmak için kullanılır.Çok boyutlu dizilerin her birinin kaç elemanlı olduğunu belirlemek için int türden bir dizi metoda parametre olarak gönderilir.
4-CreateInstance(Type,int,int);
Parametre olarak verilen boyutlarda iki boyutlu dizi nesnesi oluşturur.
Şimdi CreateInstance metodu ile 3 boyutlu bir dizinin oluşturulmasına örnek verelim:
using System;
class Array
{
static void Main()
{
Array dizi = Array.CreateInstance(typeof(int),5,4,3);
for(int i = 0;i<=dizi.GetUpperBound(0);i++)
for(int j =0;j<=dizi.GetUpperBound(1);j++)
for(int k =0; k<=dizi.GetUpperBound(2);k++)
dizi.SetValue(i+j+k,i,j,k);
for(int i = 0; i<=dizi.GetUpperBound(0);i++)
for(int j =0; j<=dizi.GetUpperBound(1);j++)
for(int k =0;k<=dizi.GetUpperBound(2);k++)
Console.WriteLine(dizi.GetValue(i,j,k));
}
}
Yukarıdaki programda tanımlanan 3 boyutlu dizideki her boyutun eleman sayısı Array sınıfının GetUpperBound Metodu ile alınmaktadır.Bu Metot parametre olarak sıfırdan başlayan boyut numarası alır.
Array sınıfının SetValue metodu ilgili dizinin belirtilen indekslerindeki elemanlarını değerini değiştirmek için kullanılır.GetValue metodu ise belirtilen indekslerdeki elemanın değerini verir.
Hiç yorum yok:
Yorum Gönder