SequenceEqual
retornará verdadeiro somente se duas condições ou forem atendidas.
- Eles contêm os mesmos elementos.
- Os elementos estão na mesma ordem.
Se você deseja apenas verificar se eles contêm os mesmos elementos, independentemente da ordem deles, e seu problema é do tipo
Values2 contém todos os valores contidos em values1?
você pode usar o método de extensão LINQ Enumerable.Except
e verificar se o resultado tem algum valor. Aqui está um exemplo
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
}
E também usando isso, você obtém os diferentes itens também automaticamente. Dois pássaros com uma pedra.
Lembre-se, se você executar seu código assim
var result = values2.Except(values1);
você obterá resultados diferentes.
No meu caso, tenho uma cópia local de uma matriz e quero verificar se alguma coisa foi removida da matriz original, portanto, uso esse método.