아래에서이 기본 패턴을 따르는 코드를 작성했습니다. 나는 그것이 가고있는 동일한 목표를 성취하기 위해 더 우수하고, 더 간결하며, 더 나은 수행 아이디어가 있는지보기를 기대하고있다. 목표는 한 목록의 항목을 다른 목록의 항목과 비교하고 일치하는 경우 작업을 수행하는 것입니다. 내가 작동하도록 한 유일한 방법은 아래의 아이디어이지만, 나는 C# 및 .net에 익숙하지 않으며 더 나은 방법이 있는지 확실하지 않습니다. 당신이 목록을 변경할 필요가 없습니다 경우중첩 된 while 루프 대안
list A
list B
int counter;
int counter2;
while (counter < comparison item)
{
while (counter2 < comparison item 2)
{
if (A[counter] == B[counter2])
{
// do stuff
}
counter2++;
}
counter++;
}
LINQ는 가능성이 있지만 기능적으로는 똑같습니다. – siride
미리 목록을 정렬하고 병합 조인 유형 작업을 수행 할 수도 있습니다. 목록의 크기와 수행 할 작업의 종류에 따라 더 빠를 수도 있습니다. 언제나 그렇듯이 측정하십시오. – siride