В C#, чтобы проверить, существует ли список внутри другого списка, и найти совпадения, вы можете использовать различные методы. Вот несколько примеров:
Метод
Contains. Вы можете использовать методContains, чтобы проверить, существует ли элемент или список в другом списке. Например:
List<int> mainList = new List<int> { 1, 2, 3, 4, 5 };
List<int> sublist = new List<int> { 3, 4 };
bool containsMatch = sublist.All(item => mainList.Contains(item));
В этом примере containsMatchбудет иметь значение true, если все элементы в подспискеприсутствуют в mainList.
- Метод LINQ
Intersect. Другой подход — использовать метод расширения LINQIntersect, который возвращает общие элементы между двумя списками. Например:
List<int> mainList = new List<int> { 1, 2, 3, 4, 5 };
List<int> sublist = new List<int> { 3, 4 };
bool containsMatch = sublist.Intersect(mainList).Any();
Это вернет true, если между двумя списками есть какие-либо общие элементы.
-
Метод
SequenceEqual: если вы хотите проверить, совпадают ли два списка, вы можете использовать методSequenceEqual. Например:
List<int> list1 = new List<int> { 1, 2, 3 };
List<int> list2 = new List<int> { 1, 2, 3 };
bool listsMatch = list1.SequenceEqual(list2);
В этом случае listsMatchбудет иметь значение true, если оба списка содержат одинаковые элементы в одном и том же порядке.