C# ArrayList Min ve Max Değerler

EyeOfHoruS

Hectopat
Katılım
8 Ekim 2014
Mesajlar
19
Daha fazla  
Cinsiyet
Erkek
Şimdi arkadaşlar ArrayList deki min ve max değerleri buluyoruz ama benim anlamadığım bir kısım var tam olarak şöyle
_x bizim arraylist oluyor
Arrayliste ben sırasıyla 4,3,2,7 ekledim ve minimum değeri bulabilmek için 0.indeksteki değeri minumum kabul ettik ama ordaki for döngüsü ve ife geçiş kısmını anlamadım mesela 0.indeksteki 4 sayısı 3ve 2 den büyük ama 7 den küçük demek ki minumum değil diğer ifadelere kontrol geçişi nasıl oluyor orayı tam kavrayamadım
Kod:
case 7:
                            Console.Clear();
                            int min = (int)_x[0];
                            for (int i = 1; i <_x.Count ; i++)      
                            {
                                if (min > (int)_x[i])
                                    min = (int)_x[i];
                            }
                            Console.WriteLine("En Küçük:" + min);
                            Console.ReadLine();
                            break;

                        case 8:
                            Console.Clear();
                            int max = (int)_x[0];
                            for (int i = 1; i < _x.Count; i++)
                            {
                                if (max < (int)_x[i])
                                    max = (int)_x[i];

                                }
                       Console.WriteLine("En Büyük:" + max);
                            Console.ReadLine();
                            break;
 
Son düzenleme:
Türkçesi şu şekilde:

For ile tüm değerler ayrı ayrı işleniyor, burada int min = (int)_x[0]; derken, yapılan şey bir pivot değer seçmek. Bu değerden başlayarak kontroller gerçekleştirilecek. Şimdi sen 4,3,2 ve 7 girmişsin. O zaman min = 4 olacak.
For içinde i=1 iken,
_x(i) = 3 olur. Peki, min değeri bu durumda _x(i)'den büyük mü? If kontrolü bu sorunun cevabını veriyor. Eğer min, _x(i) değerinden büyükse, biz en küçük sayıyı min değişkeninde tutmak istediğimiz için min=_x(i) diyoruz.

i=2 iken, _x(i) = 2 olur. Yine aynı kontrolden min = 2 olacaktır.

i=3 iken, _x(i) = 7 olur. _x(i) değeri minden büyük olduğu için, min > _x(i) kontrolü false olur ve if bloğu içine girilmez. Dolayısıyla min değeri ile oynanmaz. For burada son bulur ve min değeri 2 olarak dışarı çıkar.
 
For döngüsünü kullanmanıza gerek yok. For döngüsünü ihtiyacınızı gideren daha basit bir işlem yoksa kullanmalısınız.
Kod:
//KolonAdı yoksa o=>o yazmanız yeterli. Kolon Adı sayı değilse Convert.Int32() çevrimi yapmalısınız
_x.OrderBy(o => o.KolonAdı).First();
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…