Visual Studio C# Dersleri | Visual Studio Kurulumu | C# Programlama Dersleri
Length
Dizinin saklayabileceği toplam eleman sayısını veren ve int türünde bir değer veren özelliktir.
Kullanımı:
dizi-adi.Length;
Örnek: ciftSayilar isimli dizinin içerisinde kaç adet eleman olduğunu ekrana yazan programın kodunu yazınız.
int[] ciftSayilar = new int[10];
elemanSayisi = ciftSayilar.Length;
Console.WriteLine("ciftSayilar dizi içerisinde toplam {0} eleman bulunmaktadır.",elemanSayisi);
Yukarıdaki kodları çalıştırdığımız zaman aşağıdaki gibi bir ekran görüntüsü alırız;
Clear(dizi,baslangic,adet)
Parametre olarak verilen dizinin, belirtilen indeks aralığındaki tüm değerlerini temizler. Temizleme işleminde atanan değer, dizi elemanlarının tiplerine göre değişir.
Örneğin int tipinde tanımlı bir dizinin elemanları temizlenirse 0 değerini alacaktır. Buna karşın String tipindeki elemanlar ″″ (boş yazı) değerini alır.
Kullanımı:
Array.Clear(diziAdi,baslangicIndeksi,Adet);
Örnek: Yeni tanımladığımız ve içeriğini oluşturduğumuz bir dizinin elemanlarının nasıl silindiğini inceleyelim;
int[] sayilar = new int[] { 43, 16, 66, 26 };
Console.WriteLine("Temizlenmeden önce dizinin elemanları");
Console.WriteLine("-------------------------------------");
for (int i = 0; i < sayilar.Length; i++)
Console.WriteLine("sayilar[{0}]: {1}", i,sayilar[i]);
Array.Clear(sayilar, 1, 2);
Console.WriteLine("\nTemizlendikten sonra dizinin elemanları");
Console.WriteLine("-------------------------------------");
for (int i = 0; i < sayilar.Length; i++)
Console.WriteLine("sayilar[{0}]: {1}", i, sayilar[i]);
Yukarıdaki kodları çalıştırdığımız zaman aşağıdaki gibi bir ekran görüntüsü alırız;
Yukarıdaki Örneği incelediğimizde Array.Clear(sayilar,1,2); komut satırı ile sayilar dizisinin 1 nolu indeksinden başlayarak 2 adet dizi elemanının değerini temizlemiş olduk. Yani dizi elemanlarının değerlerinin yerine 0 değeri verilmiş oldu.
Örnek: Clear metodunu bir de string bir dizi üzerinde deneyip sonuçlarını inceleyelim.
string[] metin = new string[] { "rtyucel", "moymul", "tavşanlı", "kütahya" }; Console.WriteLine("Temizlenmeden önce dizinin elemanları");
Console.WriteLine("-------------------------------------");
for (int i = 0; i < metin.Length; i++)
Console.WriteLine("metin[{0}]: {1}", i, metin[i]);
Array.Clear(metin, 2, 2);
Console.WriteLine("\nTemizlendikten sonra dizinin elemanları");
Console.WriteLine("-------------------------------------");
for (int i = 0; i < metin.Length; i++)
Console.WriteLine("metin[{0}]: {1}", i, metin[i]);
Yukarıdaki kodları çalıştırdığımız zaman aşağıdaki gibi bir ekran görüntüsü alırız;
Yukarıdaki örneği incelediğimizde Array.Clear(metin,2,2) satırıyla metin isimli dizinin 2 numaralı indeksinden başlayarak 2 adet kaydın silinmesi işlemini gerçekleştirdik. Burada yeni değerlerin “” (boş metin) olduğuna dikkat ediniz.
Dizideki tüm elemanları silmek için sıradaki örneğimizi inceleyelim.
Örnek: Bir dizi içerisindeki tüm elemanları silen programı yazınız.
string[] metin = new string[] { "rtyucel", "moymul", "tavşanlı", "kütahya" }; Console.WriteLine("Temizlenmeden önce dizinin elemanları");
Console.WriteLine("-------------------------------------");
for (int i = 0; i < metin.Length; i++)
Console.WriteLine("metin[{0}]: {1}", i, metin[i]);
Array.Clear(metin, 0, metin.Length);
Console.WriteLine("\nTemizlendikten sonra dizinin elemanları");
Console.WriteLine("-------------------------------------");
for (int i = 0; i < metin.Length; i++)
Console.WriteLine("metin[{0}]: {1}", i, metin[i]);
Yukarıdaki kodlar çalıştırılınca aşağıdaki ekran görüntüsü karşımıza çıkar;
Yukarıdaki kodlardan Array.Clear(metin, 0, metin.Length); satırı incelendiğinde; Clear metodunda dizinin 0. elemanından itibaren eleman sayısı (metnin.Length) kadar verinin silineceğini görebiliriz. Bu şekilde bir dizi içerisindeki tüm elemanları silme işlemi gerçekleştirilir.
Reverse(Dizi)
Parametre olarak verilen dizinin eleman sırasını tersine çevirir. Dizinin tüm elemanlarının veya belirli indeks aralığındaki elemanlarının sırası tersine çevrilebilir.
Kullanımı:
Array.Reverse(diziAdi);
Örnek: Alfabe adlı dizi içerisine girilen A-Z’ye harfleri tersten ekrana yazdıran programın kodunu yazınız.
char[] alfabe = new char[26];
char harf;
int i=0;
Console.WriteLine("A'dan Z'ye İngiliz Alfabesi");
Console.WriteLine("---------------------------");
for (harf = 'A'; harf <= 'Z'; harf++) {
alfabe[i] = harf; Console.Write(alfabe[i] + " ");
i++;
}
Console.WriteLine("\n");
Array.Reverse(alfabe);
Console.WriteLine("Z'den Z'ya İngiliz Alfabesi");
Console.WriteLine("---------------------------");
for (i = 0; i < 26; i++)
Console.Write(alfabe[i] + " ");
Yukarıdaki kodlar çalıştırılınca aşağıdaki ekran görüntüsü karşımıza çıkar ;
Sort(Dizi)
Parametre olarak verilen dizinin elemanlarını küçükten büyüğe sıralar. Eğer dizi numerik ise rakamların büyüklüğüne göre, yazı tiplerinde ise baş harflerine göre sıralanır. Reverse’ün tersidir.
Kullanımı:
Array.Sort(diziAdi);
Örnek: Klavyeden girilen 5 sayıyı küçükten büyüğe sıralayan programı yazınız.
int[] sayilar = new int[5];
int i=0;
for (i = 0; i < 5; i++) {
Console.Write(i + 1 + ". Sayıyı Giriniz :");
sayilar[i] = Convert.ToInt32(Console.ReadLine());
}
Array.Sort(sayilar);
Console.WriteLine("");
Console.WriteLine("Sıralanmış Halleri: ");
foreach (int sayi in sayilar)
Console.Write(sayi + " ");
Bu örnekte aynı zamanda foreach döngüsünün kullanımını da görmüş olduk. Bundan sonra dizilerle ilgili örneklerimizde foreach döngüsünü sıkça kullanacağız.
Yukarıdaki kod parçası çalıştırıldığı zaman aşağıdaki gibi bir ekran çıktısıyla karşılaşırız;
IndexOf(Dizi,arananDeger)
İlk parametrede verilen dizide, ikinci parametrede verilen değeri arar. Aranan değer dizide bulunursa bulunan elemanın indeks değeri, bulunamazsa -1 döndürür.
Kullanımı:
Array.IndexOf(diziAdi,arananDeger);
Örnek: Daha önceden değerleri girilmiş olan bir dizi içerisinde istenilen değeri bulan programın kodunu yazınız.
string[] iller = new string[] { "Ankara", "İstanbul", "Kütahya", "İzmir", "Yozgat" }; string aranan = "Kütahya";
int i=0;
foreach (string il in iller) {
Console.WriteLine("iller[{0}]: {1}", i, il); i++; }
int indeks = Array.IndexOf(iller, aranan);
Console.WriteLine("İlleri dizisi içerisinde Kütahya'nın indeksi: "+indeks);
Yukarıdaki kod parçası çalıştırıldığı zaman aşağıdaki gibi bir ekran çıktısıyla karşılaşırız;
Uyarı: Eğer aranan=”KÜTAHYA” veya aranan=”kütahya” yazarsanız Array.IndexOf(iller,aranan) ifadesi geriye -1 değerini döndürür.
Örnek: 1-49 arasında 6 adet rastgele sayı üreten bir Sayısal Loto Programı hazırlayınız.
// Boyutu 6 olan int array’ i tanımlayın.
int[] sayilar = new int[6];
//Random tipinden bir değişken oluşturun.
Random r = new Random(); /
/int tipinden bir değişken oluşturun ve ilk değerini 0 olarak atayın.
int counter = 0;
//Bir while döngüsü tanımlayın ve koşul olarak counter<6 olarak belirtin.
while (counter < 6) {
//int tipinden bir değişken oluşturun ve değerini Random değişkenin 1 ile 49 arası ürettiği tamsayıya eşitleyin.
int sayi = r.Next(1, 50);
//Sayi adlı değişkenin değerinin sayilar adlı dizide var olup olmadığını Array.IndexOf metodu ile kontrol edin.
if (Array.IndexOf(sayilar, sayi) == -1) {
//Eğer sayi adlı değişkenin değeri sayilar dizisinde yoksa dizinin counter numaralı öğesine sayi değerini eşitleyin.
sayilar[counter] = sayi;
//counter’ı 1 arttırın.
counter++; } }
Array.Sort(sayilar);
//Sayilar dizisini ekrana yazdırın
Console.Write("Bu haftasın şanslı sayıları: ");
foreach (int i in sayilar)
Console.Write(i + " ");
Yukarıdaki kod parçası çalıştırıldığı zaman aşağıdaki gibi bir ekran çıktısıyla karşılaşırız;
Uyarı: Random() komutu sayesinde program her çalıştırıldığında farklı sayılar üreteceğinden Resim 3-13’teki sayıların sizin programınızda da çıkma olasılığı oldukça düşüktür.