Skip to main content
Journey Uncommon Logo
JourneyUncommon
mediumC#deferred vs immediate LINQSingle-choice MCQ

An expensive selector runs more times than expected. Why does count2 cause the projection to run a second full time?

int calls = 0; var projected = source.Select(x => { calls++; return Transform(x); }); int count1 = projected.Count(); int count2 = projected.Count(); // calls == source.Count * 2