Replace a few for loops with foreach to avoid loop cloning (#15668)
authormikedn <onemihaid@hotmail.com>
Fri, 29 Dec 2017 23:07:47 +0000 (01:07 +0200)
committerJan Kotas <jkotas@microsoft.com>
Fri, 29 Dec 2017 23:07:47 +0000 (15:07 -0800)
commit64ea34832c4f7417106959f932c746d08dd164a4
treea23fceac9f4818883d1dba2474ecadc4155a9eb1
parent22658ba2917cabb22d3673faab5a4cc072c3176a
Replace a few for loops with foreach to avoid loop cloning (#15668)

A pattern like
int len = a.Length;
for (int i = 0; i < len; i++) { ... a[i] ... }
may result in unnecessary loop cloning.

Anyway, there's no real reason to use a for loop in any of these case. Avois the need for a cast too.

Also remove duplicated code related to AppDomain.OnXResolveEvent method.
src/mscorlib/src/System/AppDomain.cs
src/mscorlib/src/System/Reflection/RuntimeAssembly.cs
src/mscorlib/src/System/Runtime/InteropServices/WindowsRuntime/WindowsRuntimeMetadata.cs
src/mscorlib/src/System/Runtime/Loader/AssemblyLoadContext.cs