Steven Giesel 7/21/2025

Why Lists are not lowered to a while loop

Read Original

This technical article analyzes C# compilation, explaining why the 'foreach' loop over a List<T> is not lowered to a simple array-indexing while loop like it is for arrays. It details the versioning safeguard that prevents collection modification during enumeration and discusses why similar optimizations aren't applied to IReadOnlyList<T> due to complexity and lack of O(1) indexer guarantees.

Why Lists are not lowered to a while loop

Comments

No comments yet

Be the first to share your thoughts!

Browser Extension

Get instant access to AllDevBlogs from your browser

Top of the Week