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();
 
Uyarı! Bu konu 12 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Geri
Yukarı