Используйте поиск (например, словарь), чтобы увеличить скорость проверки имени типа:
List<string> StringList; //Populated in previous code
Dictionary<string,Type> assemblyTypes = RandomAssembly.GetTypes()
.ToDictionary(t => t.Name, t => t);
foreach (String name in StringList)
{
if (assemblyTypes.ContainsKey(name))
{
//Do stuff.
}
}
}
Вы также должны проверить, какая из 2 коллекций (StringList
или assemblyTypes
)скорее всего будет больше.Обычно вы хотите, чтобы больший из них был преобразован в поиск, чтобы уменьшить количество итераций.