Самый простой способ сравнить массивы в C # - PullRequest
139 голосов
/ 13 июля 2010

В Java Arrays.equals () позволяет легко сравнивать содержимое двух основных массивов (доступны перегрузки для всех основных типов).C #?Есть ли «волшебный» способ сравнения содержимого двух массивов в C #?

Ответы [ 12 ]

0 голосов
/ 24 декабря 2016

Я делал это в визуальных студиях, и это работало отлично; Сравнение индекса массива по индексу с коротким кодом.

private void compareButton_Click(object sender, EventArgs e)
        {
            int[] answer = { 1, 3, 4, 6, 8, 9, 5, 4, 0, 6 };
            int[] exam = { 1, 2, 3, 6, 8, 9, 5, 4, 0, 7 };

            int correctAnswers = 0;
            int wrongAnswers = 0;

            for (int index = 0; index < answer.Length; index++)
            {
                if (answer[index] == exam[index])
                {
                    correctAnswers += 1;
                }
                else
                {
                    wrongAnswers += 1;
                }
            }

            outputLabel.Text = ("The matching numbers are " + correctAnswers +
                "\n" + "The non matching numbers are " + wrongAnswers);
        }

вывод будет; Соответствующие цифры 7 Номера не совпадают 3

0 голосов
/ 15 апреля 2016

поэлементно сравнивать?как насчет

public void Linq78a()
{
 int[] numbers1 = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };
 int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };
 bool bb = numbers.Zip(numbers1, (a, b) => (a == b)).Any(p => !p);
 if (!bb) Console.WriteLine("Lists are equal (bb)");
   else Console.WriteLine("Lists are not equal (bb)");
}

Замените условие (a == b) тем, что вы хотите сравнить в a и b.

(это объединяет два примера от MSDN developerОбразцы Linq )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...