C# Diziler Array Tüm Elemanları Detaylı Anlatım
ARRAY.Resize ( Eleman Değiştirme)
Array.Resize İle Elemanların Yerini Degiştiriyoruz Örnek Olarak Kodlarla Başlıyorum. Dizinin Normal Hali Alt Kısımda
1 2 3 4 5 6 7 8 9 10 | int[] ogrenci = new int[10]; ogrenci[0] = 10; ogrenci[1] = 11; ogrenci[2] = 12; for (int i = 0; i < ogrenci.Length; i++) { Console.WriteLine(ogrenci[i]); } |
Üst Kısımda 10 Elemanlı 3 Elemanı Verilmiş Diziyi Görüyoruz Biz Burada Elemanları Degiştirecegiz Bunun İçin Array.Resize Kullanıcaz.
1 2 3 4 5 6 7 8 9 10 11 | Console.WriteLine("Dizinin Yeni Boyutu İçin Sayı Girin"); int sayi = Int32.Parse(Console.ReadLine()); Array.Resize(ref ogrenci, sayi); //referans alarak ogrenci tablosunu üstteki sayı degişkenine göre degiştiriyoruz/ for (int i = 0; i < ogrenci.Length; i++) { Console.WriteLine(ogrenci[i]); } Console.ReadLine(); |
Bu Kadar Basit Arkadaşlar Kod Arasında Zaten Açıklamaları Yaptım.
ARRAY.Copy (Dizi Kopyalama)
Array Copy Diziyi Kopyalamak İçin Kullanırız. Zaten İsim’de de Gördüğünüz Gibi Copy Kopyalamak Anlamında Hemen Kodlara Geçelim.
1 2 3 4 5 6 7 8 9 10 11 | int[] dizi = { 10, 20, 30, 40, 50 }; int[] dizi2 = new int[5]; Array.Copy(dizi, 1, dizi2, 3, 2); //1.p=Hangi diziden,2.p=herhangi index,3.p=hangi diziye, //4.p=hangi indexinden itibaren,5p=kaç eleman ////////////////////////////////////// for (int i = 0; i < dizi2.Length; i++) { Console.WriteLine(dizi2[i]); } Console.ReadLine(); |
Burada 1.Dizideki Elemanları 2.Dizimize Aktarıyoruz. Array.Copy’nin İçinde 5 Adet Yazı Yazmamız Kafanızı Karıştırmasın. Açıklamayı Okuyabilirsiniz Ya da Ben Açıklayayım.
1: Hangi Diziden Gelecek ?
2: 1.Dizinin Hangi İndex’inden İtibaren Gelecek ?
3:Hangi Diziye Kopyalanacak ?
4: 2. Dizinin Hangi İndexi’nden Sonra Eklensin?
5:Kaç Tane Eleman Eklensin ?
ARRAY.Reverse (İndexlerin Yerini Degiştirme)
1 2 3 4 5 6 7 8 | int[] dizi = { 10, 20, 30, 40, 50, 60 }; Array.Reverse(dizi); Array.Reverse(dizi, 2, 4); //2 ile 4 yer degiştirir for (int i = 0; i < dizi.Length; i++) { Console.WriteLine(dizi[i]); } Console.ReadLine(); |
Burada Yapmak İstediğimiz Şey Dizinin 2. İndexsi İle 4.İndeksi Yer Degiştiriyor. Array.Reverse’nin İçine
1:Dizimizin Adını Yazıyoruz
2: Dizinin Kaçıncı İndex’i Yer Degiştiriecek Onu Yazıyoruz.
3: Son Olarak İse 2. Aşama İle Aynı İndex Sayısını Giriyoruz.
ARRAY. İndexOf
Bu Kod Diziminizin içindeki Elemanlardan Herhangi Birinin Kaçıncı İndex’de Olduğunu Bulmak İçin Kullanırız
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | int[] dizi = { 20, 100, 90, 80, 50 }; int deger1; Array.Sort(dizi); for (int i = 0; i < dizi.Length; i++) { Console.WriteLine(dizi[i]); } deger1 = Array.IndexOf(dizi, 100); if (deger1 > -1) // -1 den büyük degerleri döndürür Console.WriteLine("Aradığınız veri {0}. İndexte Mevcut", deger1); else Console.WriteLine("Aradığınız Veri dizide bulunmadı" + deger1); Console.ReadLine(); |
Array.Sort=Çeşit Anlamına Geliyor Üstte Gördügünüz Gibi Onu Yazıyoruz. Sonra For’la Dizimizi Döndürdükten Sonra İnt Olarak atadığımız Deger1’i Array.İndex Of İle Baglıyoruz
1: İlk Kısma Aranacak Dizinin Adını Yazıyoruz.
2:İkinci Kısma İse Arayacağımız Elemanı Yazıyoruz.
3: İf İle -1 den Büyük Olan Degeri Döndürüyoruz Ve İndeks Sayımız Çıkıyor.
1 2 3 4 5 6 7 | string str = "kelime"; int deger1; deger1 = str.IndexOf("l"); /// elemanın dizideki insdexini bulur Console.WriteLine(deger1); //deger1 = str.IndexOf('e', 0); /// örnek e karakterini 0. indexten sonra arar //Console.WriteLine(deger1); Console.ReadLine(); |
Burada Aynı Kodlar Tek Farklı String Yazının İndexsini Buluyoruz. Dizinin İndexOf Kısmına Char (Tek Bir Harf) Karakter Giriyoruz.
2 Tane Kod Var Bitanesi Kapalı
Alttaki Gibi Kapalı Kod Gibi Yazarsak , Koyarsa 0.İndex Sonra Aramaya Başlar İndex Sayısını Siz Belirlersiniz.