List1: {"123456", "432978", "321675", …} // containing 100,000 members
List2: {"7674543897", "1234568897", "8899776644",…} // containing 500,000 members
我想提取列表2的所有项目,他们的前6位是从列表1的成员,所以这里字符串“1234568897”是有效的,因为它的前6位数字是来自List1的第一个项目。 这样做的最快方法是什么?快速路
foreach(string id in List1)
{
string result = List2.FirstOrDefault(x => x.Contains(id));
if(result!=null)
{
//some works here
}
}
这个工程的一组小于1000,但是当列表2项增长这个时间太长
你已经试过了什么?你到目前为止的尝试中设置了什么时机机制和测试? – 2013-03-06 11:50:55
与一个foreach循环,这需要5分钟给出结果。我已经尝试过:List2.FirstOrDefault(x => x.Contains(id))和th id放在foreach循环中迭代List1中的所有项目。 – 2013-03-06 11:56:32