Минимальное значение из сравнения двух массивов для каждого элемента в c# - PullRequest
3 голосов
/ 12 марта 2020

У меня ниже, который работает для 1-го элемента ... Я просто не могу понять, как это сделать для всех элементов в массивах ... заранее спасибо

        int[] ListNumb1 = new int[] { 2, 4, 6 };
        int[] ListNumb2 = new int[] { 3, 1, 9 };


        if (ListNumb1[0] < ListNumb2[0])
        {
            Console.WriteLine(ListNumb1[0]);
        }
        else
            Console.WriteLine(ListNumb2[0]);




        Console.ReadLine();

1 Ответ

7 голосов
/ 12 марта 2020

Вы можете использовать метод Enumerable.Zip для zip 2 коллекций (массивов) вместе и Math.Min для получения наименьшего значения.

var result = ListNumb1.Zip(ListNumb2, Math.Min)

Полный пример

int[] ListNumb1 = new int[] { 2, 4, 6 };
int[] ListNumb2 = new int[] { 3, 1, 9 };

// Result will be an IEnumerbale<int>
var result = ListNumb1.Zip(ListNumb2, Math.Min)

Console.WriteLine(string.Join(",", result));

Выход

2,1,6

Примечание : чтобы получить вывод в массиве, просто позвоните ListNumb1.Zip(ListNumb2, Math.Min).ToArray()


Или вы можете использовать classi c для l oop

// Allocate the array
var results = new int[ListNumb1.Length];

// Iterate over each element in both arrays
for (var i = 0; i < ListNumb1.Length; i++)
   results[i] = Math.Min(ListNumb1[i], ListNumb2[i]);

Примечание 2 : в обоих этих примерах предполагается, что массивы имеют одинаковую длину, если это не так, вам потребуется подтвердить и действовать соответственно


Дополнительные ресурсы

  • Enumerable.Zip Method

    Применяет указанную функцию к соответствующим элементам двух последовательностей, создавая последовательность результатов.

  • Math.Min Method

    Возвращает меньшее из двух чисел.

  • Метод String.Join

    Объединяет элементы указанного массива или членов коллекции, используя спецификацию Разделитель d между каждым элементом или элементом.

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