En büyük sayıyı bulma

Başlık size biraz programlama dünyasına göre klişe bir örnek gelmiş olabilir. Genelde bu şekilde internet de aratma yaptığınızda gelen sonuçlar konsol ekranında girilen 3 sayıdan büyüğünü bulma gibi örnekler karşımıza çıkmıştır. Tabi arada farklı olanları saymazsak.

Böyle basit makaleyi nereden yazdım derseniz anlatayım; veri kayıt etmek için xml e ihtiyaç duydum.(bu aralar xml ile yatıp kalkıyorum) Girilen kayıtların haliyle benzersiz id numarası olması gerekirdi. Bunun içinde doğal olarak girilen her kayıta 1 er arttırmalı id numarası verdim. Bunun için kontroller yardımı ile daha önceden xml içine kaydedilmiş id leri alıp üzerine +1 ekleyerek gerçekleştirdim. Size sorayım, database deki gibi kaydedilmiş veriyi xml dosyamıza kaydettiğimiz veriyi silip başka veri eklediğimizde bu şekildeki senaryoda kaç tane id varsa o sayının 1 fazlası ekleneceği için daha önce kayıt edilmiş id numaraları kayıt eklenecekti.

Örneği yorumlarsak 10 adet kayıt eklendiğini var sayalım. 11. kayıt id si 10+1 yani 11 id no olarak kayıt edilecek. 7 numaralı id kayıtı sildiğimiz de 11. kayıt, xml dosyamızın içinde toplamda 9 kayıt olduğu için id si 9+1 yani 10 olarak kayıt edilecek. Xml dosyamıza dönüp baktığımızda iki tane 10 numaralı id kayıtı olacak. Ee nerde kaldı bunun benzersiz kayıtı ? İşte böyle bir senaryoda basit bir yöntem işimizi halledebilecek.

Xml dosyasına kaydedilen verilerin yalnızca id numaralarını alarak içlerinden en büyüğünü alıp +1 ekleyerek yeni kayıt oluşturabiliriz. Konuyu uzattığım özür dileyerek en büyük sayıyı bulma işine yarayan koda geçmek istiyorum.

Xml den alınan verileri combobox içine ekleyip içindeki verileri döndürerek Array.Sort ile en büyük sayıyı belirleyebiliriz. Xml dosya okuma kısmını konu karışmaması için atlamak istiyorum (Xml dosya okuma burada ki makale yardımı ile xml veriyi combobox içine yazdırabilirsiniz)

[cc lang=”c#”] int[] sayilar = new int[comboBox1.Items.Count];

for (int i = 0; i < comboBox1.Items.Count; i++) { string eklenen = comboBox1.Items[i].ToString(); sayilar[i] = int.Parse(eklenen); } Array.Sort(sayilar); int enbuyuksayi = sayilar[sayilar.Length - 1]; MessageBox.Show(enbuyuksayi.ToString());[/cc]