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 пунктов растет это занимает слишком много времени
Что вы уже пробовали? какие механизмы синхронизации и тесты вы настроили на свои попытки до сих пор? –
с одним циклом foreach, для получения результата требуется 5 минут. Я попытался: List2.FirstOrDefault (x => x.Contains (id)) и th id помещается в цикл foreach, итерации по всем элементам в List1 –