我有一个嵌套的foreach循环,我真的需要削减计算时间。每个集合约有50个成员,因此推断是巨大的。我查看了很多关于SelectMany的信息,但我仍然不完全确定如何使用它,或者它是否是正确的解决方案。C#嵌套的foreach循环优化
List<string> StringList; //Populated in previous code
Type[] assemblyTypes = RandomAssembly.GetTypes();
foreach (String name in StringList)
{
foreach (Type at in assemblyTypes)
{
if (name == at.Name)
{
//Do stuff.
}
}
}
在此先感谢!
请注意,您可能希望将其调整为使用t.FullName,因为在单独的命名空间中具有公共控件的库可能会导致字典键中的冲突。我的假设是OP将需要在StringList变量中解释这一点。 –
@JoelEtherton的好处,但他声称字符串列表来自其他地方(并正在使用'。姓名'在他的例子)我现在离开这个职位 –
@SteveGreatrex这种方法似乎是正确的做法,但它仍然有点税。 StringList最多有40个成员,并且由于需要对“do stuff”部分进行排序,因此它需要成为父循环。减少StringList的大小会大大减少计算时间,但这不是真实世界的情况。想法? – sburke1988