Есть ли способ проверить, сталкивается ли один список с другим? например:
bool hit=false;
foreach(var s in list2)
{
if (list1.Contains(s))
{
hit = true;
break;
}
}
if (!hit)
{
Ответ 1
У .NET есть ряд заданных операций, которые работают над перечисляемыми, поэтому вы можете взять установленное пересечение, чтобы найти членов в обоих списках. Используйте Any(), чтобы узнать, есть ли в результате последовательности какие-либо записи.
например.
if(list1.Intersect(list2).Any())
Ответ 2
Вы всегда можете использовать linq
if (list1.Intersect(list2).Count() > 0) ...
Ответ 3
Если вы можете использовать Linq, тогда if(list1.Intersect(list2).Count > 0) {...collision...}.