List1: {"123456", "432978", "321675", …} // containing 100,000 members
List2: {"7674543897", "1234568897", "8899776644",…} // containing 500,000 members
我想提取 List2 中前 6 位来自 List1 成员的所有项目,所以这里的字符串“1234568897”是有效的,因为它的前 6 位来自 List1 的第一项。最快的方法是什么?
foreach(string id in List1)
{
string result = List2.FirstOrDefault(x => x.Contains(id));
if(result!=null)
{
//some works here
}
}
这适用于少于 1000 个的组,但是当 List2 项目增长时,这需要太长时间