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

No top articles yet