Bugün zamansızlıktan ötürü fazla paylaşım yapamadım, ama gecenin son sorusunu yine ArrayList elemanlarının sıralanması hakkında yapmak istiyorum. Sayısal ve metin türündeki ArrayList elemanlarının yazdırılması hakkında başlıklar açtıktan sonra bir diğer olası senaryo olan DateTime biçimindeki tarihsel ArrayList elemanlarının nasıl artan ya da azalan sırada sıralanabileceğine dair bir örnek çözelim.
Örnek: Bir ArrayList içerisinde 5 adet DateTime eleman tanımlayarak artan ve azalan sırada sıralayın ve yazdırın.
Çözüm:
var al = new ArrayList();
al.Add(DateTime.Today.AddYears(-5));
al.Add(DateTime.Today.AddYears(-2));
al.Add(DateTime.Today.AddYears(-3));
al.Add(DateTime.Today.AddYears(-6));
al.Add(DateTime.Today.AddYears(-4));
// sıralamadan önce
System.Console.WriteLine("sıralamadan önce:");
foreach (DateTime tarih in al)
System.Console.Write(tarih.ToShortDateString() + " ");
System.Console.WriteLine("\n\nsıraladıktan sonra:");
//alfabetik sıralama
al.Sort();
//alfabetik artan sırada yazdırma
foreach (DateTime tarih in al)
System.Console.Write(tarih.ToShortDateString() + " ");
System.Console.WriteLine("\n\ntersten sıraladıktan sonra:");
//diziyi tersten sıralamak
al.Reverse();
foreach (DateTime tarih in al)
System.Console.Write(tarih.ToShortDateString() + " ");
Çıktı:
siralamadan önce:
21.04.2016 21.04.2019 21.04.2018 21.04.2015 21.04.2017
siraladiktan sonra:
21.04.2015 21.04.2016 21.04.2017 21.04.2018 21.04.2019
tersten siraladiktan sonra:
21.04.2019 21.04.2018 21.04.2017 21.04.2016 21.04.2015
Önceki benzer yazılarımdan bazıları için;
bkz: C# ArrayList elemanlarını alfabetik olarak sıralamak
bkz: C# ArrayList elemanlarını büyükten küçüğe sıralamak
bkz: C# ArrayList elemanlarını küçükten büyüğe sıralamak
bkz: C# ArrayList ile elemanın index'ini bulmak
bkz: Visual Studio Code ile çalışan programı durdurmak
bkz: C# ile ArrayList Elemanlarını Yazdırmak