Diziler bellekte aynı tipteki veri grubunun tutulmasını sağlar.
C# da tek boyutlu bir dizi, normal bir değişken gibi tanımlanır , sadece değişken ifadesinden sonra köşeli parantez kullanılır.
C# dilinde yazılmış daha fazla örnek ve konular için C# Dersleri yazısını da incelemenizi tavsiye ederim. Ayrıca yazılmış diğer örnek ve uygulamalara sağ üstte bulunan site içinde ara ile göz atabilirisiniz.
Dizilerin oluşturulması iki şekilde olabilmektedir:
1 2 3 |
int[] sayilar=new int[10]; //Tek satırda tanımlama |
1 2 3 4 |
int[]sayilar; // 2 satırda dizi tanımlama sayilar=new int[10]; |
Dizi oluşturulurken içine değer atamak için aşağıdaki şekilde kullanılabilir.
1 2 3 4 5 6 7 8 |
int[] sayilar={5,7,12,36}; // tanımlama sırasında int tipi diziye değer girişi string [] isimler={"Ahmet","Mehmet","Burak","Hasan"}; // tanımlama sırasında string tipinde diziye değer girişi char[] harfler = {'k','l','h','Y'}; // tanımlama sırasında char tipindeki diziye değer atama |
Ayrıca C# Diziler Konusu ile İlgili Diğer Başlıklar
- Dizileri Yeniden Boyutlandırma
- Dizilerde Kullanılan Metotlar
- Dizi İçinde Arama İşlemleri
- ArrayList Sınıfı
- ArrayList Örnekleri
- List Kullanımı
- HashTable Sınıfı
C# Dizi Örnekleri
C# Diziler ile ilgili karışık örnekler. Son yapılan örnekler en üstte yer alacak şekilde devamlı güncellenecektir.
Örnek 1: Eleman sayısını kullanıcının belirlediği bir dizi oluşturarak içine kullanıcının eleman girmesini sağlayan örnek:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
int mevcut=0; Console.Write("Sınıf mevcudunu Girin : "); mevcut = Convert.ToInt32(Console.ReadLine()); Console.WriteLine(); string[] ogrenci = new string[mevcut]; for(int i=0;i<mevcut;i++) { Console.Write("Öğrenci Adını Girin : "); ogrenci[i]=Console.ReadLine(); } Console.WriteLine("===================================="); Console.WriteLine("www.yazilimkodlama.com"); Console.ReadKey(); |
Örnek 2: 10 personele ait numara,isim,telefon ve email bilgileri ayrı ayrı dizilerde tutan ve aranan numaraya göre ilgili kişinin bilgilerini ekranda gösteren dizi örneği (indexOf kullanıldı) :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
static void Main(string[] args) { string[] ogrno = { "101", "102", "103", "104", "105", "106", "107", "108", "109", "110" }; string[] isim ={"Ali","Veli","Hasan","Kemal","Can","Ahmet","Mehmet","Enis","Bilal","Burak"}; string[] telefon = {"111","222","333","444","555","666","777","888","999","1000"}; string[] mail = { "aaaa@aaa.aa", "bbbbb@bbb.bb", "cccc@ccc.cc", "dddd@ddd.dd", "eeee@eee.ee", "ffff@eee.ee", "gggg@eee.ee", "hhhh@eee.ee", "iiii@eee.ee", "jj@eee.eej" }; Console.Write("Kişi No'yu girin: "); string aranan = Console.ReadLine(); int no = Array.IndexOf(ogrno, aranan.ToString()); Console.WriteLine("==========================================================================="); Console.WriteLine("Aranan Kişi : {0}\tTelefonu: {1}\tE-mail: {2}", isim[no], telefon[no], mail[no]); Console.ReadKey(); } |
Örnek 3: 20 elemanlı diziye rasgele -100 ile +100 arası sayılar atan ve daha sonra dizinin elemanlarını, pozitif sayı adetini,negatif sayı adetini ve işaretsiz sayı adetini ekranda gösteren örnek:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
static void Main(string[] args) { int pozitif = 0; int negatif = 0; int notr = 0; Random rnd = new Random(); int[] sayilar = new int[20]; for (int i = 0; i < 20;i++ ) { sayilar[i] = rnd.Next(-100, 100); } foreach(int sayi in sayilar) { Console.WriteLine(sayi); if(sayi>0) { pozitif++; } else if(sayi<0) { negatif++; } else { notr++; } } Console.WriteLine("Pozitif Sayı Adeti>>> " + pozitif); Console.WriteLine("Negatif Sayı Adeti>>> " + negatif); Console.WriteLine("İşaretsiz Sayı Adeti>>> " + notr); Console.ReadKey(); } |
Örnek 4 :Kullanıcının girmiş olduğu sayının dizide olup olmadığını bulan, varsa kaç adet bulunduğunu ekranda gösteren dizi örneği:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
static void Main(string[] args) { int[] sayilar = { 60,80,55,42,13,24,26,25,26,55,45,50,50,40 }; int sayi, kontrol = 0; Console.Write("Bir sayı giriniz :"); sayi = Convert.ToInt32(Console.ReadLine()); for (int i = 0; i < sayilar.Length; i++) { if (sayi == sayilar[i]) { kontrol++; } } if (kontrol == 0) { Console.WriteLine("Sayı dizi içinde bulunamadı..."); } else { Console.WriteLine("Bu sayı dizide {0} adet var", kontrol); } Console.ReadLine(); } |
Örnek 5: 10 elemanlı string dizi içindeki tek sayıları foreach döngüsüyle ekrana yazdıran ve teksayıların adetini ekranda gösteren örnek:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
static void Main(string[] args) { int sayac = 0; int[] sayilar = { 10,15,20,33,22,11,9,8,48,47,12,25,12,21 }; int toplam = 0; foreach (int sayi in sayilar) { if (sayi % 2 == 1) { sayac++; Console.WriteLine(sayi); } } Console.WriteLine("Tek sayı adeti= " + sayac); Console.ReadKey(); } |
Örnek 6: Kullanıcıdan alınan metnin içinde bulunan sesli harf sayısını bulan c# console uygulaması
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
static void Main(string[] args) { char[] harfler = { 'a', 'e', 'ı', 'i', 'o', 'ö', 'u', 'ü' }; string metin; int sayac = 0; Console.WriteLine("Metin giriniz : "); metin = Console.ReadLine(); for (int i = 0; i < harfler.Length; i++) { for (int j = 0; j < metin.Length; j++) { if (metin[j] == harfler[i]) { sayac++; } } } Console.WriteLine(sayac); Console.ReadLine(); } |
Örnek 7: İçerisinde isimler bulunan string bir diziyi en son elemandan itibaren ekrana yazdıran örnek:
1 2 3 4 5 6 7 8 9 |
string[] strDizi = { "Ahmet", "Mehmet", "Ali", "Veli","Hasan" }; int son = strDizi.Length - 1; for (int i = son; i >= 0; --i) { Console.WriteLine(strDizi[i]); } Console.ReadKey(); |
Örnek 8:Kullanıcı tarafından girilen gün adının haftanın kaçıncı günü olduğunu bulan c# console uygulaması
1 2 3 4 5 6 7 8 9 10 11 12 13 |
string[] gunler = { "pazartesi", "salı", "carsamba", "persembe", "cuma", "cumartesi", "pazar" }; Console.WriteLine("Gün adı giriniz : "); string gun = Console.ReadLine(); for (int i = 0; i < gunler.Length; i++) { if (gun == gunler[i]) { Console.WriteLine(i + 1 + ". gündür"); } } Console.ReadLine(); |
Örnek 9: Verilen bir string metnin içerisinde harf yada karakterlerin her birinden kaç adet olduğunu bulan program:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
class Program { static void Main(string[] args) { String metin = "www.yazilimkodlama.com"; metin = metin.ToLower(); String karakterler = "0123456789abcdefghijklmnopqrstuvwxyz.?,;"; int[] count = new int[karakterler.Length]; for (int i = 0; i < metin.Length; i++) { int index = karakterler.IndexOf(metin[i]); if (index < 0) continue; else { count[index]++; } } for (int i = 0; i < count.Length; i++) { if (count[i] < 1) continue; else { Console.WriteLine(karakterler[i] + " " +count[i]); } } Console.ReadKey(); } } |
Örnek 10: C# Console uygulamasında Elemanları kullanıcı tarafından dışarıdan girilen 10 elemanlı bir dizinin elemanlarını %20 arttıran ve ekrana yazdıran örnek:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
static void Main(string[] args) { //Eleman Girme işlemi int[] dizi = new int[10]; for(int i=0;i<10;i++) { Console.Write("{0}. elemanı giriniz : ", i + 1); dizi[i] = Convert.ToInt32(Console.ReadLine()); } Console.WriteLine("========================================="); // Yazdırma işlemi for(int i=0;i<10;i++) { dizi[i]=dizi[i]+(dizi[i]*20/100); Console.WriteLine("Dizinin {0}. indexi : {1} ", i, dizi[i]); } Console.ReadKey(); } |
Örnek 11: Elemanları kullanıcı tarafından girilen 10 elemanlı string bir dizide, en uzun metni, en uzun metnin karakter sayısını ve en uzun metnin index numarasını bulan ve ekrana yazdıran örnek
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
static void Main(string[] args) { int uzunluk=0; string enUzunMetin=""; int indexNo=0; string[] dizi = new string[10]; for (int i = 0; i < 10; i++) { Console.Write("{0}. elemanı giriniz : ", i + 1); dizi[i] = Console.ReadLine(); } for(int i=0;i<10;i++) { if(dizi[i].Length>uzunluk) { uzunluk = dizi[i].Length; enUzunMetin = dizi[i]; indexNo = i; } } Console.WriteLine("===================="); Console.WriteLine("Dizi içindeki en uzun metin: {0}", enUzunMetin); Console.WriteLine("Dizi içindeki en uzun metnin index numarası : {0}", indexNo); Console.WriteLine("Dizi içindeki en uzun metnin karakter sayısı: {0}", uzunluk); Console.ReadKey(); } |
Örnek 12: 20 elemanlı dizi içerisine for döngüsü ile rasgele 1-100 arası sayılar atarak ekranda görüntüleyen program:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
class Program { static void Main(string[] args) { int[] dizi = new int[20]; Random rnd = new Random(); for(int i=0;i<20;i++) { dizi[i] = rnd.Next(1, 100); Console.WriteLine("Dizinin {0}. elemanı = {1}",i, dizi[i]); } Console.ReadKey(); } } |
Örnek 13 : 20 elemanlı diziye 1-100 arası rasgele sayılar atarak bu dizideki 50’den küçük sayıları listeleyen ve adetini bulup ekrana yazan program:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
class Program { static void Main(string[] args) { int[] dizi = new int[20]; int sayac = 0; Random rnd = new Random(); for(int i=0;i<20;i++) { dizi[i] = rnd.Next(1, 100); if(dizi[i]<50) { Console.WriteLine("Dizinin {0}. elemanı = {1}", i, dizi[i]); sayac++; } } Console.WriteLine("==================================="); Console.WriteLine("50' den küçük sayı adeti : " + sayac); Console.ReadKey(); } } |
Örnek 14: 5 elemanlı string dizi içerisine eleman ekleyip for döngüsü kullanarak ekranda yazdıran program:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
static void Main(string[] args) { string[] dizi = new string[5]; dizi[0] = "Ahmet"; dizi[1] = "Mehmet"; dizi[2] = "Ayşe"; dizi[3] = "Fatma"; dizi[4] = "Mustafa"; for(int i=0;i<5;i++) { Console.WriteLine(dizi[i]); } Console.ReadKey(); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
static void Main(string[] args) { string[] dizi = new string[5]; dizi[0] = "Ahmet"; dizi[1] = "Mehmet"; dizi[2] = "Ayşe"; dizi[3] = "Fatma"; dizi[4] = "Mustafa"; foreach(string eleman in dizi) { Console.WriteLine(eleman); } Console.ReadKey(); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
static void Main(string[] args) { int[] dizi = new int[100]; int negatif=0, pozitif=0; Random rnd = new Random(); for(int i=0;i<100;i++) { dizi[i] = rnd.Next(-100, 100); Console.Write(dizi[i] + " "); if(dizi[i]<0) { negatif++; } if(dizi[i]>0) { pozitif++; } } Console.WriteLine(); Console.WriteLine("******************"); Console.WriteLine("Negatif Sayı Adeti : {0}",negatif); Console.WriteLine("Pozitif Sayı Adeti : {0}",pozitif); Console.ReadKey(); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
static void Main(string[] args) { string arananSehir; int sayac = 0; string[] sehirler = new string[20]; for(int i=0;i<sehirler.Length;i++) { Console.Write("{0}. Şehri Girin : ", i + 1); sehirler[i] = Console.ReadLine(); } Console.WriteLine(); Console.Write("Aranacak şehri girin : "); arananSehir = Console.ReadLine(); for(int i=0;i<sehirler.Length;i++) { if(sehirler[i]==arananSehir) { sayac++; } } if(sayac==0) { Console.WriteLine("Şehir bulunamadı."); } else { Console.WriteLine("Dizi içinde {0} adet {1} şehrine ait kayıt mevcut ", sayac, arananSehir); } Console.ReadKey(); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
static void Main(string[] args) { string cumle; int seslisayac = 0; int sessizsayac = 0; Console.Write("Metni Giriniz:"); cumle = Convert.ToString(Console.ReadLine()); char[] sesliler = { 'a', 'e', 'i', 'o', 'u' }; for (int x = 0; x < cumle.Length; x++) { for (int i = 0; i < sesliler.Length; i++){ if (cumle[x] == sesliler[i]) { seslisayac++; } } } sessizsayac = cumle.Length - seslisayac; Console.WriteLine("sesli harfler:" + seslisayac.ToString()); Console.WriteLine("sessiz harfler:" + sessizsayac.ToString()); Console.ReadKey(); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
static void Main(string[] args) { Console.WriteLine("Metni giriniz"); //Kullanıcıdan metin alırız... string cumle = Console.ReadLine(); // klavyeden okuyoruz kullanıcının girdiği değeri... for (int i = 0; i<cumle.Length; i++) //cümlenin her bir elemanına ulaşmak için gerekli... { char c = cumle[i]; // cumlenının i index numaralı degerini karaktere cevırıyoruz int d = c; // bu karakterin ASCII standartlarına gore sayısal karşığını buluyoruz int sonuc = d - 32; //kucuk harf ve buyuk arasında 32 karakter olduğu için bu değerden çıkarıyoruz Console.Write((char)sonuc); // sonucu karaktere çevirerek ekrana yazdırıyoruz (büyük bir şekilde yazar) } Console.ReadKey(); //bir tuşa basana kadar bekler ve bitirir... } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
static void Main(string[] args) { char[] sesli = { 'a', 'e', 'ı', 'i', 'o', 'ö', 'u', 'ü' }; //sesli harfler sabit olduğu için dizi tanımlıyoruz int adet = 0; //sesli harf sayısını içinde tutacak değişken tanımlıyoruz Console.WriteLine("bir cümle giriniz:"); //dışarıdan cümlemizi giriyoruz String cumle = Console.ReadLine(); //cümlemizi değişkene aktarıyoruz for (int i = 0; i < cumle.Length; i++) //cümlemizin harf harf inceleneceği döngümüzü oluşturuyoruz { for (int j = 0; j < sesli.Length; j++) // cümlemizz harf harf incelenirken her harfi sesli harfle karşılaştıracak döngümüzü hazırlıyoruz { if (cumle[i] == sesli[j]) //harfleri karşılaştırıyoruz { adet++; //şart doğru ise sesli harf değişkenini bir arttırıyoruz } } } float oran = Convert.ToSingle(adet) / Convert.ToSingle(cumle.Length); Console.WriteLine("harf sayısı :" + cumle.Length.ToString()); Console.WriteLine("sesli harf sayısı : {0}", adet); // sonucu ekranda gösteriyoruz. Console.WriteLine("oran :" + oran.ToString()); Console.ReadKey(); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
static void Main(string[] args) { string kelime = ""; int sonuc = 0; Console.WriteLine("Metni Giriniz"); string cumle = Console.ReadLine(); Console.WriteLine("Kelimeyi giriniz"); string sozcuk = Console.ReadLine(); for (int i = 0; i < cumle.Length; i++) { if (cumle[i] != ' ') { kelime = kelime + cumle[i]; } else { if (kelime == sozcuk) { sonuc++; } kelime = ""; } } Console.WriteLine("Sonuc:", sonuc.ToString()); Console.ReadKey(); } |