Özellikle aynı yöntemi birden çok kez zincirleme yaparken, linq yöntemlerini zincirlerken C# derleyicisinin ne yaptığını kafamın üzerine kaydırmaya çalışıyorum.C# derleyicisinin, linq yöntemlerini zincirleme ile nasıl anlaştığını anlama
Basit örnek: İki koşul temelinde, bir init dizisini filtrelemeye çalışıyorum. yapmak
en belirgin şey böyle bir şeydir:
IEnumerable<int> Method1(IEnumerable<int> input)
{
return input.Where(i => i % 3 == 0 && i % 5 == 0);
}
Ama ayrıca her tek koşulu ile, nerede yöntemleri zincirlemek olabilir:
IEnumerable<int> Method2(IEnumerable<int> input)
{
return input.Where(i => i % 3 == 0).Where(i => i % 5 == 0);
}
Ben vardı Reflektörde IL'ye bakın; o iki yöntem için tabii ki farklı, ancak daha da analiz an :) Ben öğrenmek istiyorum
de bilgime ötesindedir:
a) derleyici her defasında farklı olarak yaptıkları, ve neden.
b) bir performans sonuçları vardır (mikro-optimize çalışırken değildir;! Sadece merak) ilk
Güzel cevap. Stackoverflow'ta bunun gibi daha fazla malzemeye ihtiyacımız var. –