C# diziler üzerinde işlem yapmamızı sağlayan metotları anlatmaya devam şimdi sıra geldi dizileri kopyalamaya ,bunu için iki farklı yöntem var birincisi
Array.Copy Array.Copy(kaynak, hedef, kopyalanacak eleman sayısı); şeklinde kullanıma sahiptir hemen örnek yapalım
string[] gunler = new string[7]; string[] yenigunler = new string[7]; gunler[0] = "Pazartesi"; gunler[1] = "Salı"; gunler[2] = "Çarşamba"; gunler[3] = "Perşembe"; gunler[4] = "Cuma"; gunler[5] = "Cumartesi"; gunler[6] = "Pazar"; Array.Copy(gunler, yenigunler, 5); listBox1.Items.Clear(); foreach (string gun in yenigunler) { if (gun != null) listBox1.Items.Add(gun); }
Örneğimizde Array.Copy(gunler, yenigunler, 5); satırı ile gunler dizisinin ilk 5 eleman yenigunler dizisine kopyalanıyor
C# ile dizler üzerinde eleman kopyalamada kullanacağımız diğer komut
CopyTo kaynak.CopyTo(hedef, elemansırası); kaynak dizisini hedef dizisine 1. elemanından itibaren kopyalar..
Örneğimiz
string[] gunler = new string[7]; string[] yenigunler = new string[8]; gunler[0] = "Pazartesi"; gunler[1] = "Salı"; gunler[2] = "Çarşamba"; gunler[3] = "Perşembe"; gunler[4] = "Cuma"; gunler[5] = "Cumartesi"; gunler[6] = "Pazar"; yenigunler[0] = "Yaz"; yenigunler[3] = "Kış"; listBox1.Items.Clear(); gunler.CopyTo(yenigunler, 1); foreach (string gun in yenigunler) { if (gun != null) listBox1.Items.Add(gun); }
örneğimizde gunler dizisinin elemanları yenigunler dizisine kopyalanıyor, yenigunler dizisinin eleman sayısını kendisine eklenecek dizinin eleman sayısından büyük yada aynı olmalıdır. Örneğimizde yenigunler dizisinin 3 elemanı KIŞ üzerine yeni elemanlar kopyalandığı için silinecektir. yenigunler dizisinin son hali aşağıdaki gibi olur..
Visual Studio C# Dersleri – C# Diziler 1 ( Dizi Tanımlama – Dizi Kullanımı )
Visual Studio C# Dersleri – C# Diziler 2 (Dizileri Kullanma, Dizi Eleman Sayısını Bulma)
Visual Studio C# Dersleri – C# Diziler 3 (Array.Clear, Clone)
Visual Studio C# Dersleri – C# Diziler 4 (Array.Copy, CopyTo)
Visual Studio C# Dersleri – C# Diziler 5 (Dizileri Sıralama Sort, Ters Çevirme Reverse)
3*3 boyutundaki bir matrisin tersini veren c# programı
int[] s = { 10, 22, 33, 44, 55, 66 };
int k = 0;
int[,] m1 = new int[3, 3];
k = 0;
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
label1.Text += " " + s[k];
m1[i, j] = s[k];
k++;
}
label1.Text = label1.Text + "n";
}
for (int j = 0; j < 3; j++)
{
for (int i = 0; i < 3; i++)
{
label2.Text += " " + m1[i, j];
}
label2.Text = label2.Text + "n";
}
teşekkürler