Dizi (Array) Sınıfının Metotları C# Ders 44
Daha fazla bilgi için : www.gorselprogramlama.com
Array. Sort: Belirtilen dizinin küçükten büyüğe sıralanmasını sağlar.
Kullanım 1: Array.Sort(dizi adı)
Örnek : Array.Sort(sayilar);
Kullanım 2: Array.Sort(dizi adı,Kaçıncı elemandan itibaren,kaç elaman)
Not: Dizinin ilk elemanın 0.eleman olduğunu unutmayın.
Örnek : Array.Sort(sayilar,2,3); // sayilar dizisini 2. elemandan itibaren 3 elamanını küçükten büyüğe sıralar.
Örnek: Rastgele üretilen 6 sayıyı önce üretelim sonra küçükten büyüğe sıralayalım.

namespace dizi_tanımlama
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int[] sayilar = new int[6];
private void uret_Click(object sender, EventArgs e)
{
Random r = new Random();
for (int i = 0; i < 6; i++)
{
sayilar[i] = r.Next(1, 49);
}
}//Daha fazla bilgi için : www.gorselprogramlama.com
private void listeyeEkle_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
foreach (int i in sayilar)
{
listBox1.Items.Add(i);
}
}
private void sirala_Click(object sender, EventArgs e)
{
Array.Sort(sayilar);
}
}
}

Üret– A–>Z — Listeye Ekle
Sonuç:

Daha fazla bilgi için : www.gorselprogramlama.com
Array.Reverse : Belirtilen dizinin sıralama olarak ters çevrilmesini sağlar.
Kullanım 1: Array.Reverse(dizi adı)
Örnek : Array.Reverse(sayilar);
Kullanım 2: Array.Reverse(dizi adı,Kaçıncı elemandan itibaren,kaç elaman)
Not: Dizinin ilk elemanın 0.eleman olduğunu unutmayın.
Örnek : Array.Reverse(sayilar,1,2); // sayilar dizisini 1. elemandan itibaren 2 elamanını ters çevirir.
Örnek:
namespace dizi_tanımlama
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int[] sayilar = new int[6];
private void uret_Click(object sender, EventArgs e)
{
Random r = new Random();
for (int i = 0; i < 6; i++)
{
sayilar[i] = r.Next(1, 49);
}
}
private void listeyeEkle_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
foreach (int i in sayilar)
{
listBox1.Items.Add(i);
}
}
private void sirala_Click(object sender, EventArgs e)
{
Array.Sort(sayilar);
}//Daha fazla bilgi için : www.gorselprogramlama.com
private void tersCevir_Click(object sender, EventArgs e)
{
Array.Reverse(sayilar);
}
}
}


Üret– A–>Z — Listeye Ekle– Z–>A — Listeye Ekle
Sonuç:

Daha fazla bilgi için : www.gorselprogramlama.com
Array.Clear : Belirtilen dizinin,belirtilen elemandan itibaren,belirtilen eleman kadar temizlenmesini sağlar.
Kullanım : Array.Clear(dizi adı,Kaçıncı elemandan itibaren,kaç elaman)
Not: Dizinin ilk elemanın 0.eleman olduğunu unutmayın.
Örnek : Array.Clear(sayilar,2,2); // sayilar dizisini 2. elemandan itibaren 2 elamanını temizler.
Örnek:
namespace dizi_tanımlama
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int[] sayilar = new int[6];
private void uret_Click(object sender, EventArgs e)
{
Random r = new Random();
for (int i = 0; i < 6; i++)
{
sayilar[i] = r.Next(1, 49);
}
}
private void listeyeEkle_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
foreach (int i in sayilar)
{
listBox1.Items.Add(i);
}
}
private void sirala_Click(object sender, EventArgs e)
{
Array.Sort(sayilar);
}
private void tersCevir_Click(object sender, EventArgs e)
{//Daha fazla bilgi için : www.gorselprogramlama.com
Array.Reverse(sayilar);
}
private void temizle_Click(object sender, EventArgs e)
{
Array.Clear(sayilar,2,1);
}
}
}

Üret– A–>Z — Listeye Ekle–Temizle–Listeye Ekle
Sonuç:

Örnek: Dizinin tüm elemanlarını temizleyelim.
namespace dizi_tanımlama
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int[] sayilar = new int[6];
private void uret_Click(object sender, EventArgs e)
{
Random r = new Random();
for (int i = 0; i < 6; i++)
{
sayilar[i] = r.Next(1, 49);
}
}
private void listeyeEkle_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
foreach (int i in sayilar)
{
listBox1.Items.Add(i);
}
}
private void sirala_Click(object sender, EventArgs e)
{
Array.Sort(sayilar);
}//Daha fazla bilgi için : www.gorselprogramlama.com
private void tersCevir_Click(object sender, EventArgs e)
{
Array.Reverse(sayilar);
}
private void temizle_Click(object sender, EventArgs e)
{
Array.Clear(sayilar,0,sayilar.Length);
}
}
}

Üret– A–>Z — Listeye Ekle–Temizle–Listeye Ekle
Sonuç:

Daha fazla bilgi için : www.gorselprogramlama.com
Array. IndexOf: Belirtilen değerin dizi içinde olup olmadığını öğrenmek için kullanılır.Belirtilen değer var ise geriye sıra numarasını döndürür,yok ise -1 değerini döndürür.
Kullanım 1: Array.IndexOf(dizi adı,değer)
Örnek : Array.IndexOf(sayilar,3); //sayilar dizisi içinde 3 sayısı var ise sıra numarasını , yok ise -1 değerini döndürür.
Kullanım 2: Array.IndexOf(dizi adı,değer,kaçıncı elemandan itibaren)
Not: Dizinin ilk elemanın 0.eleman olduğunu untmayın.
Örnek : Array.IndexOf(sayilar,2,3);
Örnek : Yukarıdaki örneklere bakıldığında 6 sayı üretillirken aynı sayılarında üretildiğini göreceksiniz.Ama sayısal loto programı yaptığımızı düşünelim.Sayısal lotoda bir sayının iki defa üretilmesi mümkün değildir.Bir sayının iki defa üretilmesini engellemek için IndexOf’u kullanacağız.(Eğer dizi içinde üretilen sayı yok ise yani döndürülen sayı -1 ise üretilen sayıyı diziye ekle ve sayacı bir artır gibi.)
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Random r = new Random();
int rastgele;
int sayac=0; //sayac sıfırlandı
int[] sayilar = new int[6]; //sayısal lotoda 6 sayı üretildiği için 6 elemanlı dizi oluşturuldu.
while (sayac < 6)
{
rastgele = r.Next(1, 50); //1 ile 49 arasında rastgele sayı üretiliyor
//Daha fazla bilgi için : www.gorselprogramlama.com
if (Array.IndexOf(sayilar, rastgele) == -1) //dizinin içinde aynı sayı yoksa
{
sayilar[sayac] = rastgele; //üretilen rastgele sayiyi dizinin sayac kaç ise o elemanına ata
sayac++; //sayacı bir artır
}
}
label1.Text = sayilar[0].ToString(); //label1 e sayilar dizisinin 1.elemanını yaz
label2.Text = sayilar[1].ToString(); //label2 e sayilar dizisinin 2.elemanını yaz
label3.Text = sayilar[2].ToString(); //label3 e sayilar dizisinin 3.elemanını yaz
label4.Text = sayilar[3].ToString(); //label4 e sayilar dizisinin 4.elemanını yaz
label5.Text = sayilar[4].ToString(); //label5 e sayilar dizisinin 5.elemanını yaz
label6.Text = sayilar[5].ToString(); //label6 e sayilar dizisinin 6.elemanını yaz
}
}
}
