Döngüler (For, Foreach, Break/Continue)
Döngüler, liste halindeki datalar üzerindeki işlemlerde veya bir işin belli bir miktarda yapılmasını sağlayan yapılardırç For ve Foreach ağırlıklı olarak kullanılır.
For döngüsü, datayı bildiğimiz durumlarda kullanılmalıdır. Ayrıca indeks ile değerini bulabileceğimiz sınıflarda kullanılır.(Array, Dictionary vs...) Aksi durumlarda hata verdirir. 20 adet verisi olan bir listeyi, döngüde 30 kere döndürürsek 21. işlemde hata alırız.
Foreach döngüsü, datayı bilmediğimiz veya propertyleri kolay olumak için kullanılmalıdır.
Performans açısından For daha performanslı gözüksede, programda kullanılan class/viewmodel/dto gibi elementler büyüdükçe Foreach kullanımı daha anlamlı olacaktır. Aralarındaki fark hiçbirzaman string/stringbuilder etkisi kadar olmayacaktır muhtemelen ama milyon datalar işin içine girince işler değişebilir. Bu tip durumlarda da bu kadar büyük bir loopa gerek varmı sorusu doğar. Batch bir işlem yapılmayacak ise gerek bile duyulmayacaktır.
Örneğin 40 tane propertysi olan bir class için For dönüp içerdede classın instanceını alıp doldurmaktansa, Foreach dönüp propertylere erişmek ve işlem yapmak daha kolay olacaktır.
Yorumlar
Yorum Gönder