.net Developer
C#.NET’te Diziler nedir resimli anlatım

C#.NET’TE DİZİLER
Değişkenlerin nasıl taımlanabileceğini bir önceki makalemizde görmüştük ama birçok durumda değişkenleri tek başına tanımlamamız yetersiz olacaktır örneğin 1000 kişilk bir okuldaki tüm öğrencilere numara verecek olsak 1000 tane değişken tanımlamamız gerekecekti bu hem çok zaman alacaktı hemde çok yorucu olacaktı ve programın performansınıda çok kötü etkileyecekti işte tüm bu sebeplerden dolayı birçok programlaa dilinde olduğu gibi c# dilindede diziler mevcuttur.Dilerseniz şimdide dizi tanımlamayı görelim.
private void button1_Click(object sender,EventArgs e)
{
Double[] dizi; // Burada diziyi tanımlıyoruz
dizi=new Double[10]; // Burada da diziyi boyutlandırıyoruz
}
Burada 10 elemalı bir dizi tanımladık ilk elemanın indis numarası 0 son elemanın indis numarası ise 9 dur.
Yukarıda iki satırda yaptığımız dizi tanımlama işini tek satırda da yapabilirdik
Double[] dizi=new Double[10]; şeklinde.
Dizi Değişkenlerine Varsayılan Değer Atamak
Dizi değişkenleri taımlandığı anda ilk değer atanabilir bununla ilgili örneğimizi yapalım.
private void button1_Click(object sender,EventArgs e)
{
int[] dizi=new int[]{10,20,30};
}
Bu şekilde tanımlanan dizilerde boyut belirtmeye gerek yok eleman sayısı dizinin boyutunu belirtir.
Çok Boyutlu Diziler
Gelişmiş projelerde işimizi çok kolaylaştıracak olan çok boyutlu diziler tanımlama açısından tek boyutlu dizilerden pekte farklı olmamakla beraber biraz daha karmaşıktır.Dizilerin bizi birsürü değişken tanımlamaktan kurtardığı gibi çok boyutlu dizilerde bizi birsürü dizi tanımlamaktan kurtarır.Şimdi bir çok boyutlu dizi tanımlayalım.
private void button1_Click(object sender,EventArgs e)
{
int[,] dizi=new int[2,3]{{1,2,3},{4,5,6}};
}
Yukarıda 2′ye 3′lük bir çok boyutlu dizi tanımladık burada
dizi[1,1]=1;
dizi[2,1]=4;
dizi[1,3]=3; değerlerini verir.
Çok Boyutlu Dizileri Yeniden Boyutlandırmak
C#’da diziler önce tanımlanıp daha sonra eleman sayısı belirlendiği için bu diziler aynı zamanda dinamik dizi olarak ta kullanılabilirler.Ancak yeniden boyutlandırılan bir dizinin önceki değerleri silinir.
private void button1_Click(object sender,EventArgs e)
{
int[,] dizi={{1,2,3},{4,5,6}};
dizi=new int[]{{10,20,30,40},{50,60,70,80}};
}
burada dizinin ilk değerleri silinerek sonradan girilen değerler dizin asıl değerleri oldu C# da dizileri istediğiniz kadar tekrar boyutlandırabilirsiniz.
Not:C#’da istenilen boyutta dizi tanımlanabilir ancak programcıların yazılmamış kanunlarına göre en fazla 5 boyutlu dizi tanımlanır daha fazlası programlar açısından yararından fazla zarar verir.
Şimdide 3 boyutlu bir dizi tanımlayaım ve bir değer atayalım.
private void button1_Click(object sender,EventArgs e)
{
Double[,,] dizi=new int[2,3,5];
dizi[1,2,4]=27;
dizi[2,1,1]=21;
int sonuc=dizi[1,2,4]+dizi[2,1,1]; // sonuç=48 olur
}
Jagged Diziler
Jagged diziler matrix dizlerden farklı olarak bellekten tasarruf etmemizi sağlar ve performansı olumlu yönde etkiler .Örneğin bir isim dizimiz olsun ve bu diziye 5 isim girecek olalım matrix dizi yaptığımızda dizinin boyunu en uzun isme göre belirleyecektik yani Ali Veli Hakan Kemalttin Mustafa isimlerini verecek olalım bu durumda en uzun isim olan Kemalletin’e göre uzunluğu belirleyecektik ve dizimizi şu şekilde tanımlayacaktık
dizi[5,10] diyecektik 5 isim ve en uzun isimin sığacağı 10 karkterlik sütun alanı.Bu durumda şöyle bir problemimiz olacaktı aslında problem sayılmaz ama fazladan bellek kullanmamıza neden olur.Peki ama nasıl ?
A l i _ _ _ _ _ _ _
V e l i _ _ _ _ _ _
H a k a n _ _ _ _ _
K e m a l e t t i n
M u s t a f a _ _ _
İşte tüm bu (_) ler fazladan kullanılan bellekler işte Jagged ile bu fazlalıklardan kurtulacağız.
Jagged dizileri tanımlanırken bazı durumlara dikkat etmemiz gerekiyor örneğin
Satır sayısı belli olacağı için dizi tanımlanırken satır sayısı yani ilk değer kesinlikle verilmeli
private void button1_Click(object sender,EventArgs e)
{
string[][] jagged_dizi=new string[5][];
jagged_dizi[0]=new string[3]; // ilk değer 3 karakter uzunluğunda (Ali)
jagged_dizi[1]=new string[4]; // ikinci değer 4 karakter uzunluğunda (Veli)
}
Dizilerle İlgili İşlemler
a)Dizinin Eleman Sayısını Öğrenmek
Bir dizinin eleman sayısını Length ile öğreniriz.
private void button1_Click(object sender,EventArgs e)
{
int[] dizi=new int[]{10,20,30};
int deger=dizi.Length; // 3 değerini döndürür
}
b)Dizinin Boyutunu Öğrenmek
Bir dizinin boyutunu öğrenmek için Rank kullanılır.
private void button1_Click(object sender,EventArgs e)
{
int[,,] dizi=new int[2,3,4];
int deger=dizi.Rank; // 3 değerini döndürür
}
| Print article | This entry was posted by yuhubaa on 14 Ekim 2009 at 07:05, and is filed under C#, Makaleler. Follow any responses to this post through RSS 2.0. Yorum veya kendi sitenizden geribildirim yapabilirsiniz. |
Henüz yorum yapılmamış
Henüz geribildirim yok
C# 4.0 e-kitap indir visual studio 2010 e-kitap indir
yaklaşık 3 ay önce - Yorum yok
C#4.0 e-kitap indir visual studio 2010 e-kitap indir
NET platformu için sıfırdan geliştirilen bir dil olan C#, kendinden önce gelen gözde programlama dilleri C, C++ ve Java dillerinin en etkili özelliklerini bünyesinde barındırması yanında, bu dillerin hiç olmadıkları kadar da nesne yönelimli (object oriented) ve kolay öğrenilir bir dil. .NET platformu ile birlikte hızla tanınan ve
Visual studio 2010 ultimate-professional Türkçe indir
yaklaşık 3 ay önce - 1 yorum
Visual studio 2010 Rc sürümlerinde görsellik açısından çok etkileyiciydi Wpf ile arayüzü geliştirilmiş ama umarım yavaş çalışmaz. Visual Studio 2010 Professional DreamSpark ve Academic Alliance üyelerine de açıldı! Aşağıdaki linklerden indirebilirsiniz. Ayrıca visual studio 2010 ile yayınlamasını merakla beklediğim msdn i de indirip inceleyebilirsiniz.
WHICH EDITION IS RIGHT FOR ME?
2010 LAUNCH EVENTS
WHY UPGRADE TO 2010?
Visual
C#’ ta uygulama kısayolu oluşturma
yaklaşık 4 ay önce - Yorum yok
Arkaplan-Resmi:com sitemi biliyor musunuz, bilmiyorum ? Eğer biliyorsanız bu site için yaptığım duvarkağıdı değiştiriciyi belki görmüşsünüzdür. Tee 10 ay önce yapmıştım o programı. Eksikleri çoktu hatta yeni bir sürüm üzerinde çalışıyordum. Bu arada eski sürümünü de güncelleyeyim dedim ki, şu yüzden: son zamanlarda indiren kişi sayısı anlayamadığım bir şekilde arttı. Bende yarım yamalak çalışan bir
C# da 3D Küp Çizimi Döndürme Örnek Uygulaması
yaklaşık 7 ay önce - 3 yorum
Bilgisayar grafikleri dersi ödevi olarak yapmış olduğumuz bir uygulama modelleme programlarındaki gibi cismin üstten alttan sağdan ve persfektif görünüşü elimizden geldiğince yapmaya çalıştım.
Sadece bir doğruyu belli bir açıda döndürdüğümüz zaman yeni noktaların x ve y noktalarını bulan formulu kullanarak yapılmış bir program. Diğer görünümleri elde etmek için sadece normal görünüşün 90 derece döndürerek diğer
WPF de 3 Boyutlu Küp Çizimi
yaklaşık 7 ay önce - Yorum yok
WPF ile ilgili ilk projem bu. Açıkça söylemeliyim ki ödev olmasaydı herhalde hiç başlayamazdım. Bazen ödevler bir işe yarayabiliyorlar. Öncelikle söyliyeyim, WPF bildiğimiz Windows Form’ larını oluşturmaya benzemiyor. Yani başlamak isteyenler köklü değişikliklere hazırlıklı olmalılar. Eğer yeniliğe(ya da öğrenmeye) açık biriyseniz bence deneyin derim. Normalde Windows Form’ ları ile yapamadığım birçok şeyi WPF sayesinde gerçekleştirebiliyorum.
WPF
C# 2 boyutlu cisimleri döndürme programı indir-2D-3D
yaklaşık 8 ay önce - 6 yorum
Bu proje ile 2 boyutlu cisimleri panelimizin üzerine çizip şekil üzerinde basit işlemler yapacağız döndürme, öteleme ,simetrisini alma, meyillendirme
Bildiğimiz gibi koordinat sisteminde y ekseni aşağıya doğru gittiğimizde azalırdı. Bilgisayarımızda ise y ekseni aşağıya doğru artar. Öncelikle çizgiyi çizeceğimiz algoritmayı belirleyip fonksiyonunu oluşturuyoruz. Ben DDA algoritmasını kullanacağım fonksiyonumuzu oluşturalım;
void DDAkareciz(int x1, int y1, int x2,
C# dili ile yazılmış mükemmel bir oyun
yaklaşık 9 ay önce - Yorum yok
C# dili ile yazılmış mükemmel bir oyun
DOWNLOAD
Wordpress Syntax Highlight eklentisi kullanımı-Syntax Highlighter and Code Prettifier Plugin for WordPress
yaklaşık 9 ay önce - 1 yorum
Bugun bir arkadaştan yorum geldi makaleler içerisinde kodlar olduğu için karışık görünüyor programların kaynak kodunu ayrı bir dosya olarak eklememi istedi. Evet bazı makaleler çok uzun kodlarda bir o kadar uzun e durum böyle olunca makale de anlaşılmaz bir duruma geliyor.
Makalelerde projelerin, nasıl yapıldığını adım adım anlattığımız için pek mümkün değil tabiki çünkü onlara göre
C# Excel Grafik Çizmek
yaklaşık 9 ay önce - 10 yorum
C# Excel Grafik Çizmek
Bu uygulamamızda c# dan çektiğimiz verileri (veritabanından listboxtan vb.) excel ortamına atıp otomatik grafiğini çizdireceğiz. Öncelikle forma bir listbox ve buton ekliyoruz;
excelin bileşenlerini kullanabilmemiz için microsoft.office.interop.excel referansını ekliyoruz
private void button2_Click(object sender, EventArgs e)
{
mexcel.Application exceluygulama = new mexcel.Application();
mexcel.Workbook excelkitap = exceluygulama.Workbooks.Add(true);
exceluygulama.Visible = true;
int adet;
adet = listBox1.Items.Count;
mexcel.Worksheet excelsayfa = (mexcel.Worksheet)exceluygulama.ActiveSheet;
excelsayfa.Cells[1, 2]=”Şehir isimleri”;
excelsayfa.Cells[1, 3] = “Nufus
C#.NET İle Yapılmış İşçi Maaş Kayıt Programı indir
yaklaşık 9 ay önce - 23 yorum
C#.NET 2005 ile yaptığım bu programda işçi kaydedip işçilerle ilgili maaş bilgilerini tutuyoruz basit bir program olsada örnek almak konusunda işe yarayacağını düşündüğüm bir proje.İşçi maaş kayıt programında verileri ise dosyada tutuyoruz bu konuda da iyi bir örnek olacağını düşünüyorum.
Bu projede göze çarpan ise tabcontrol ‘ün kullanılamsı ve listwiev kontrollerinin kullanılmasıdır yine öğrenci not kayıt