Multiple enumeration (ARCH901)
Anahtar dotnet.linq.multiple-enumeration · Onem warning · Kategori linq
Ayni IEnumerable uzerinde tekrar tekrar dolasmak temel sorguyu her seferinde yeniden calistirir.
Hatali
Bölüm başlığı “Hatali”IEnumerable<Order> orders = GetOrders();if (orders.Any()){ var count = orders.Count(); // enumerates again var first = orders.First(); // and again}List<Order> orders = GetOrders().ToList();if (orders.Count > 0){ var count = orders.Count; var first = orders[0];}Duzeltme
Bölüm başlığı “Duzeltme”Kaynagi bir kez ToList() ile materialize edip listeyi kullanin.