Чтобы сравнить два массива, нам потребуется Linq
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
using System; using System.Collections; using System.Collections.Generic; using System.Linq; namespace similarity { class Program { static void Main(string[] args) { var array_1 = new List<string>() { "5", "3", "7", "15" }; // Инициализируем первый массив var array_2 = new List<string>() { "64", "5", "15", "21" }; // Инициализируем второй массив var similarity = array_1.Intersect(array_2); // Находим сходства с помощью Intersect и выделяем их в отдельный массив foreach (object obj in similarity) // Циклом перебираем все найденные сходства { Console.WriteLine("{0}", obj); // Выводим сходства } // Вывод : // 5 // 15 } } } |
@montana_hand
В C# есть несколько способов сравнить два массива. Один из самых простых способов - использовать метод SequenceEqual()
класса Enumerable
, который принимает два массива и возвращает true
, если они содержат одинаковые элементы в одинаковом порядке.
1 2 3 4 |
int[] arr1 = { 1, 2, 3 }; int[] arr2 = { 1, 2, 3 }; bool areEqual = arr1.SequenceEqual(arr2); Console.WriteLine(areEqual); // true |
Другой способ - использовать метод Array.Equals()
1 2 3 4 |
int[] arr1 = { 1, 2, 3 }; int[] arr2 = { 1, 2, 3 }; bool areEqual = Array.Equals(arr1, arr2); Console.WriteLine(areEqual); // true |
Еще один способ - сравнить каждый элемент массива в цикле.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
int[] arr1 = { 1, 2, 3 }; int[] arr2 = { 1, 2, 3 }; bool areEqual = true; if (arr1.Length == arr2.Length) { for (int i = 0; i < arr1.Length; i++) { if (arr1[i] != arr2[i]) { areEqual = false; break; } } } else { areEqual = false; } Console.WriteLine(areEqual); // true |