C# Eğitimlerimize 41. yazımızla devam ediyoruz. Bu yazımda dizileri yeniden boyutlandırmayı anlatmaya çalışacağım.

Bir önceki yazımda dizi tanımlamalarını göstermiştim. Bir dizinin ilk tanımlama anında boyutunun belirlenebileceğini de söylemiştim.

Ama bazen programlama esnasında dizi boyutunun değişmesine ihtiyaç duyabiliriz.

Tamda burada dizilerde kullanacağımız metotlar devreye giriyor. Bugünkü yazımızda Array sınıfının Resize metodunu göreceğiz.

Genel Kullanım

Array.Resize(ref dizi_ismi, boyut_değeri);

Örnek

string[] Takımlar = new string[15];

Bu dizi tanımlasının yapıldığını varsayalım. Bu takımlar dizisinin boyutunu yeniden boyutlandırarak 18 yapalım.

Array.Resize(ref Takımlar, 18); 

Bir proje ile biraz daha pekiştirelim.

Proje Tanımı

  • Dışarıdan girilen bir ifadeyi bir char dizide tutunuz. Dizinin boyutunu gelen ifadenin uzunluğuna göre yeniden boyutlandırıp tüm elemanlarını bir listbox’a yazdırınız.

Proje Tasarım

Proje Kodlar

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Diziler
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

char[] Karakter = new char[1]; // Temsili bir değer verdik.

private void button1_Click(object sender, EventArgs e)
{
string Kelime = textBox1.Text;
int Length = Kelime.Length;

Array.Resize(ref Karakter, Length);

for (int i = 0; i < Length; i++)
{
Karakter[i] = Kelime[i];
}

for (int i = 0; i < Karakter.Length; i++)
{
listBox1.Items.Add(Karakter[i]);
}
}
}
}

Proje Ekran Görüntüleri

Kod İncelemesi

  • char[] Karakter = new char[1];

Karakter tipli bir dizi tanımladık ve sonradan değiştireceğimiz için temsili bir boyut belirledik.

  • string Kelime = textBox1.Text;
    int Length = Kelime.Length;

Dışarıdan değerimizi aldık ve uzunluğunu bulduk. Length isimli değişkende tuttuk. Dizimizin yeniden boyutunu belirleyecek olan değişken.

  • Array.Resize(ref Karakter, Length);

Dizimizi yeniden boyutlandırdık.

  • for (int i = 0; i < Length; i++)
    {
    Karakter[i] = Kelime[i];
    }for (int i = 0; i < Karakter.Length; i++)
    {
    listBox1.Items.Add(Karakter[i]);
    }Bu bölümde öncelikle karakter dizisine değer atamalarını yaptık. Daha sonra karakter dizisini tek tek listbox’a yazdırdık.

Bir sonraki eğitim yazımda görüşmek üzere.


What's Your Reaction?

hate hate
0
hate
fail fail
0
fail
fun fun
0
fun
geeky geeky
0
geeky
love love
0
love
lol lol
0
lol
omg omg
0
omg
win win
0
win
Murat Bilginer
21 Şubat 1992 Doğumlu. Endüstri Mühendisi olarak Lisansını 2016 yılında tamamlamıştır. Industryolog Akademi - NGenius oluşumlarının kurucusudur. Şu anda kendi şirketi Brainy Tech ile hem Yazılım Hizmetleri Sunmakta Hem de Online Eğitimler Vermektedir.