Поскольку это домашнее задание, я дам вам домашнее задание ответ.
Конечно, вы можете использовать LINQ и полагаться на SequenceEqual
, Intersect
и т. Д., Но это, вероятно, не является точкой упражнения.
Учитывая два массива, вы можете перебирать элементы в массиве, используя foreach
.
int[] someArray;
foreach(int number in someArray)
{
//number is the current item in the loop
}
Итак, если у вас есть два массива, которые достаточно малы, вы можете цикл по каждому номеру первого массива, то цикл по всем пунктам, во втором массиве и сравнить. Давайте попробуем это. Во-первых, нам нужно исправить синтаксис массива. Это должно выглядеть примерно так:
int[] a = new int[] {1, 2, 3, 4};
int[] b = new int[] { 5, 6, 1, 2, 7, 8 };
Обратите внимание на использование фигурных скобок {
. Вы использовали синтаксис для создания N-мерного массива.
bool hasDuplicate = false;
int[] a = new int[] { 1, 2, 3, 4 };
int[] b = new int[] { 5, 6, 7, 8 };
foreach (var numberA in a)
{
foreach (var numberB in b)
{
//Something goes here
}
}
Это нас довольно близко. Я бы посоветовал вам попробовать это самостоятельно. Если вам все еще нужна помощь, продолжайте читать.
ОК, поэтому нам в основном нужно просто проверить, совпадают ли цифры. Если они есть, установите значение hasDuplicate
в true.
bool hasDuplicate = false;
int[] a = new int[] { 8, 1, 2, 3, 4 };
int[] b = new int[] { 5, 6, 7, 8 };
foreach (var numberA in a)
{
foreach (var numberB in b)
{
if (numberA == numberB)
{
hasDuplicate = true;
}
}
}
Это очень «грубая» сила. Сложность цикла - O (n), но это может не иметь значения в вашем случае. Другие ответы с использованием LINQ, безусловно, более эффективны, и если эффективность важна, вы можете их рассмотреть. Другой вариант - «остановить» циклы, используя break
, если hasDuplicate
истинно, или поместите этот код в метод и используйте return
для выхода из метода.
Если вы отправили то, что вы пробовали, мы могли бы указать, где вы поступили неправильно. Поскольку вы этого не сделали, [мы не должны делать вам домашнее задание для вас] (http://meta.stackexchange.com/a/128572). –
На серьезной ноте этот код не будет компилироваться. Посмотрите на объявления вашего массива –
. Теперь заявка на отъезд должна быть прекрасной. – GibboK