我有一個嵌套的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