Aynı türden birden fazla verileri saklamak için kullandığımız yapıya dizi denildiğini C++ derslerimizden hatırlıyoruz. Peki ya farklı şeyleri aynı ortamda tutmak istersek ne yapacağız, ileri ki zamanda collection konusunda bunu daha iyi anlayacaksınız. Dizi elemanları birbirinden bağımsızdır,birbirlerini varlıklarıyla etkilemezler.Diziler önemli bir konudur neredeyse tüm programlama dillerinin temelini oluşturur ve bir çok işimizi diziler ile yaparız. Şu ana kadar dizi kullanmadığımın çok az proje vardır o da ilk projelerimden biridir. C# nesneye dayalı bir programlama dili olduğu için dizi oluşturma şekilleri de birbirinden farklıdır. Şimdi kısaca bunlardan bahsedelim;
C# dilinde dizilerde bir sınıfı temsil eder, en başta dediğimiz gibi her şey bir sınıfın içerisindedir. Sınıf ve nesne kavramları oturmadan C# ve Java öğrenmek neredeyse imkansızlaşır. Programcı bir dizi oluşturmak isterse ilgili dizi türünün sınıfından bir nesne oluşturmalıdır. Bu cümleyi daha iyi anlayabilmek için aşağıdaki örneği inceleyelim.
int TekSayi=new int[5]
int:Dizi hücresinin türü(integer)
[5]:Dizinin boyutu
new int [5]:Oluşan dizinin referansı
—>Dizinin her bir elemanına erişmek için diziyi gösteren referans kullanılır.
—>Bir dizi hücresine erişmek için ilgili hücrenin sırası diziyi gösteren referansın sağına konulan köşeli parantez içerisine yazılır.
Dizi kurallarının hatırlatmakta istiyorum. Çünkü çalışırken bunları unuttuğumuzda projelerimizde büyük sorunlar ortaya çıkabilir. Öncelikle erişim indeksi kesinlikle negatif bir sayı olamaz ve erişim indeksi kesinlikle dizi boyutundan büyük olamaz. Erişim indeksi tam sayı olmalıdır, double değişken kullanılamaz. Bunları da hatırladıktan sonra gelelim dizi çeşitlerimize dizilerimiz C++’dan da aşina olduğunuz gibi bir ve iki boyutlu diziler var. Fakat onların yanına üç boyutlu diziler de eklenmekte. Dizilerin yazılış sistemleri aşağı da verilmiştir. İnceleyiniz.
int[]sayi=new int[5]//Bir boyutlu dizi için
int[,]matris=new int[5,5]//İki boyutlu dizi için
int[, ,]UcBoyutluDizi=new int[5,5,5]//Üç boyutlu dizi için
—–>C#’da rastgele sayılar atamak için “Random” sınıfı kullanılır. Random sınıfı döngü içerisinde çağırılmamalıdır. Çünkü her yeni random nesnesinin ürettiği sayı aynı olur.
int[] Sayi_Dizisi=new int[10];
Random random=new random();
for(int i=0; i<10; i++)
{
Sayi_Dizi[i]=random.Next(0,10);
Console.WriteLine(Sayi_Dizisi[i]);
}
Aynı türden birden fazla verileri saklamak için kullandığımız yapıya dizi denildiğini C++ derslerimizden hatırlıyoruz. Peki ya farklı şeyleri aynı ortamda tutmak istersek ne yapacağız, ileri ki zamanda collection konusunda bunu daha iyi anlayacaksınız. Dizi elemanları birbirinden bağımsızdır,birbirlerini varlıklarıyla etkilemezler.Diziler önemli bir konudur neredeyse tüm programlama dillerinin temelini oluşturur ve bir çok işimizi diziler ile yaparız. Şu ana kadar dizi kullanmadığım çok az proje vardır o da ilk projelerimden biridir. C# nesneye dayalı bir programlama dili olduğu için dizi oluşturma şekilleri de birbirinden farklıdır. Şimdi kısaca bunlardan bahsedelim;
C# dilinde dizilerde bir sınıfı temsil eder, en başta dediğimiz gibi her şey bir sınıfın içerisindedir. Sınıf ve nesne kavramları oturmadan C# ve Java öğrenmek neredeyse imkansızlaşır. Programcı bir dizi oluşturmak isterse ilgili dizi türünün sınıfından bir nesne oluşturmalıdır. Bu cümleyi daha iyi anlayabilmek için aşağıdaki örneği inceleyelim.
int TekSayi=new int[5]
int:Dizi hücresinin türü(integer)
[5]:Dizinin boyutu
new int [5]:Oluşan dizinin referansı
}
Diziler metotlarda ya da fonksiyonlarda parametre olarak çağrılabilir.
—–>martis.Lenght//Toplam eleman sayısını getirir.
—–>matris.GetLenght()//İstenilen boyutun eleman sayısı getirilir, parantez içine boyut yazılır.
Şu zamana kadar bahsettiğimiz tüm konular düzenli dizilerdendi. Şimdi ise düzensiz dizilerden bahsedeceğiz.
DÜZENSİZ DİZİLER
Satır ve sütunu eşit olan diziler olduğu gibi satır ve sütunu eşit olmayan dizilerde bulunmaktadır. Bunlara düzensiz(jagged array)diziler denir. Düzensiz diziler oluşturulurken;
int[][]PuruzluDizi=new int[5][];
Düzensiz diziler çağrılırken foreach döngüsü kullanılır. Foreach döngüsünün yapısı aşağıdaki gibidir. Foreach döngüsü ayrıca collection kullanılır.
foreach(var sayi in matris)
{
//sayi değişkeni her dönüşte dizideki bir sonraki elemanın değerini tutacaktır.
Console.WriteLine(sayi);
}
Diziler konusu bu kadar, daha sonra örnekler paylaşacağım. Yorumlarınızı bekliyorum. :)
C# dilinde dizilerde bir sınıfı temsil eder, en başta dediğimiz gibi her şey bir sınıfın içerisindedir. Sınıf ve nesne kavramları oturmadan C# ve Java öğrenmek neredeyse imkansızlaşır. Programcı bir dizi oluşturmak isterse ilgili dizi türünün sınıfından bir nesne oluşturmalıdır. Bu cümleyi daha iyi anlayabilmek için aşağıdaki örneği inceleyelim.
int TekSayi=new int[5]
int:Dizi hücresinin türü(integer)
[5]:Dizinin boyutu
new int [5]:Oluşan dizinin referansı
—>Dizinin her bir elemanına erişmek için diziyi gösteren referans kullanılır.
—>Bir dizi hücresine erişmek için ilgili hücrenin sırası diziyi gösteren referansın sağına konulan köşeli parantez içerisine yazılır.
Dizi kurallarının hatırlatmakta istiyorum. Çünkü çalışırken bunları unuttuğumuzda projelerimizde büyük sorunlar ortaya çıkabilir. Öncelikle erişim indeksi kesinlikle negatif bir sayı olamaz ve erişim indeksi kesinlikle dizi boyutundan büyük olamaz. Erişim indeksi tam sayı olmalıdır, double değişken kullanılamaz. Bunları da hatırladıktan sonra gelelim dizi çeşitlerimize dizilerimiz C++’dan da aşina olduğunuz gibi bir ve iki boyutlu diziler var. Fakat onların yanına üç boyutlu diziler de eklenmekte. Dizilerin yazılış sistemleri aşağı da verilmiştir. İnceleyiniz.
int[]sayi=new int[5]//Bir boyutlu dizi için
int[,]matris=new int[5,5]//İki boyutlu dizi için
int[, ,]UcBoyutluDizi=new int[5,5,5]//Üç boyutlu dizi için
—–>C#’da rastgele sayılar atamak için “Random” sınıfı kullanılır. Random sınıfı döngü içerisinde çağırılmamalıdır. Çünkü her yeni random nesnesinin ürettiği sayı aynı olur.
int[] Sayi_Dizisi=new int[10];
Random random=new random();
for(int i=0; i<10; i++)
{
Sayi_Dizi[i]=random.Next(0,10);
Console.WriteLine(Sayi_Dizisi[i]);
}
Aynı türden birden fazla verileri saklamak için kullandığımız yapıya dizi denildiğini C++ derslerimizden hatırlıyoruz. Peki ya farklı şeyleri aynı ortamda tutmak istersek ne yapacağız, ileri ki zamanda collection konusunda bunu daha iyi anlayacaksınız. Dizi elemanları birbirinden bağımsızdır,birbirlerini varlıklarıyla etkilemezler.Diziler önemli bir konudur neredeyse tüm programlama dillerinin temelini oluşturur ve bir çok işimizi diziler ile yaparız. Şu ana kadar dizi kullanmadığım çok az proje vardır o da ilk projelerimden biridir. C# nesneye dayalı bir programlama dili olduğu için dizi oluşturma şekilleri de birbirinden farklıdır. Şimdi kısaca bunlardan bahsedelim;
C# dilinde dizilerde bir sınıfı temsil eder, en başta dediğimiz gibi her şey bir sınıfın içerisindedir. Sınıf ve nesne kavramları oturmadan C# ve Java öğrenmek neredeyse imkansızlaşır. Programcı bir dizi oluşturmak isterse ilgili dizi türünün sınıfından bir nesne oluşturmalıdır. Bu cümleyi daha iyi anlayabilmek için aşağıdaki örneği inceleyelim.
int TekSayi=new int[5]
int:Dizi hücresinin türü(integer)
[5]:Dizinin boyutu
new int [5]:Oluşan dizinin referansı
}
Diziler metotlarda ya da fonksiyonlarda parametre olarak çağrılabilir.
—–>martis.Lenght//Toplam eleman sayısını getirir.
—–>matris.GetLenght()//İstenilen boyutun eleman sayısı getirilir, parantez içine boyut yazılır.
Şu zamana kadar bahsettiğimiz tüm konular düzenli dizilerdendi. Şimdi ise düzensiz dizilerden bahsedeceğiz.
DÜZENSİZ DİZİLER
Satır ve sütunu eşit olan diziler olduğu gibi satır ve sütunu eşit olmayan dizilerde bulunmaktadır. Bunlara düzensiz(jagged array)diziler denir. Düzensiz diziler oluşturulurken;
int[][]PuruzluDizi=new int[5][];
Düzensiz diziler çağrılırken foreach döngüsü kullanılır. Foreach döngüsünün yapısı aşağıdaki gibidir. Foreach döngüsü ayrıca collection kullanılır.
foreach(var sayi in matris)
{
//sayi değişkeni her dönüşte dizideki bir sonraki elemanın değerini tutacaktır.
Console.WriteLine(sayi);
}
Diziler konusu bu kadar, daha sonra örnekler paylaşacağım. Yorumlarınızı bekliyorum. :)
Yorumlar
Yorum Gönder