A better method of finding solutions to problems like this is to use a tool to decompile the IL which is assembled .NET. The tool I recomend is LINQPad; which features a lambda button which will decompile the sample code fragment being analyzed.
To further your understanding of such optimizations, I would recomend reading the book by Randall Hyde author of 'The Art of Assembly' and 'Write Great Code Series'.
Volume Two of Write Great Code illistrates how to write high level code while considering the lower lever constructs and limitations of compilers:
Writing Great Code Vol 2: Thinking Low-Level, Writing High-Level
I’m a self learned wiz kid turned Architect. Stared with an Apple IIe, using AppleSoft Basic, ProDos and Begal Basic at age 10.
Picked up LPC in college before the Dot Com Explosion. Wrote some Object C in the USAF for one of my instructors. Got a break from a booming computer manufacture testing server software. Left the Boom and went to work for a Dot Com built from the ashes of Sun Micro in CS. Mentoring in Java solidified me as a professional developer. Danced in the light of the sun for 13 years, before turning to the dark side. An evil MVP mentored me in the ways of C# .NET. I have not looked back since.
~ Windows Presentation Foundation and Silverlight
~ Parallel Programming
~ Instruction Set Simulation and Visualization
~ CPU to GPU code conversion
~ Performance Optimizations
~ Mathematics and Number Theory
~ Domain Specific Languages
~ Virtual Machine Design and Optimization
~ Graphics Development
~ Compiler Theory and Assembler Conversion Methodology
~ CUDA, OpenCL, Direct Compute, Quantum Mechanics
IEEE Associate Member 2000
Group type: Organisation (No members)