var res = new int[1000000].Skip(999999).First();
Bu sorgu yalnızca 999999 girdisini geçmek yerine dizinleyiciyi kullanırsa harika olur.Neden LINQ'taki Skip() nesneler için optimize edilmiş?
System.Core.dll dosyasına bir göz attım ve Skip()
'un aksine Count()
uzantı yönteminin optimize edildiğini fark ettim. IEnumerable
, ICollection
uygularsa, yalnızca Count
özelliğini çağırır.
Ayrıca Listeler yineleyici MoveNext() yanlış bir şekilde ama yine de bir kesmek gibi görünüyor. Yine de harika bir fikir. – codymanix