SequenceEqual
вернет true, только если выполнены два условия.
- Они содержат одинаковые элементы.
- Элементы расположены в одинаковом порядке.
Если вы хотите проверить, содержат ли они одинаковые элементы независимо от их порядка, и ваша проблема имеет тип
Содержит ли values2 все значения, содержащиеся в values1?
Вы можете использовать метод расширения LINQ Enumerable.Except
, а затем проверить, имеет ли результат какое-либо значение.Вот пример
int[] values1 = { 1, 2, 3, 4 };
int[] values2 = { 1, 2, 5 };
var result = values1.Except(values2);
if(result.Count()==0)
{
//They are the same
}
else
{
//They are different
}
А также, используя это, вы автоматически получаете различные предметы.Две птицы одним камнем.
Имейте в виду, что если вы выполните свой код следующим образом
var result = values2.Except(values1);
, вы получите разные результаты.
В моем случае у меня естьлокальная копия массива и хочу проверить, было ли что-либо удалено из исходного массива, поэтому я использую этот метод.