Duplicar posible:
Test whether two IEnumerable<T> have the same values with the same frequencies¿Cuál es la forma más corta de comparar si dos IEnumerable <T> tienen los mismos elementos en C#?
me escribió
ACTUALIZADO - Corrección:
static bool HaveSameItems<T>(this IEnumerable<T> self, IEnumerable<T> other)
{
return !
(
other.Except(this).Any() ||
this.Except(other).Any()
);
}
¿No hay un camino más corto? Sé que hay SequenceEqual
pero el orden no es importante para mí.
Tenga en cuenta que hay un error en su propio código: debe usar 'Except' en ambas direcciones, ya que realmente desea verificar que la [disyunción exclusiva] (http://en.wikipedia.org/wiki/ Exclusive_disjunction) está vacío. –
¡@Wim corregido! –
Esto tiene un error. Devuelve verdadero para '{1, 1, 2}' y '{1, 2, 2}'. – jason