Merhabalar, .NET Core ile web site yazıyorum. Fazla trafik barındıran bir proje ve dolayısıyla maksimum verimi alabilmem gerekiyor. Hangi durumlar için List, hangi durumlar için IEnumerable kullanmalıyım?
IEnumerable, List'e göre iteration olarak daha hızlıdır. Performans almak istiyorsan IEnumerable kullan. Fakat add veya remove gibi işlemler yapacaksan IEnumerable bunu karşılamıyor.
List ise IEnumerable'a karşı performans anlamında düşüktür. List'in IEnumerable'a karşın farkı, data ile ilgili işlemler yapılabiliyor olmasıdır.
Amacın sadece read ise IEnumerable daha performanslı çalışacaktır. IEnumerable'ın daha performanslı olmasının sebebi ise, veriyi gerektiğinde sorgulamasıdır. List ise çağrıldığı anda sorguyu başlatır.
@bitwise'ın konuyla ilgili daha fazla detaya sahip olduğunu düşünüyorum.
IEnumerate interface'ini implemente eden class'a gore degisir bunun cevabi.
Iterasyon hizinin pratikte fark yaratacagini dusunmuyorum, memory'deki X ten Y ye gidiyorsun, nanosaniyelik farklar.