en utilisant également des bibliothèques d'affirmation des méthodes consacrées à comparer la liste, je suis incapable de faire correspondre ces deux résultats dans les tests unitaires:Tuple identité structurelle
var list1 = new List<Tuple<string, IEnumerable<string>>>
{
Tuple.Create<string,IEnumerable<string>>("string", new[] { "value" })
};
var list2 = new List<Tuple<string, IEnumerable<string>>>
{
Tuple.Create<string,IEnumerable<string>>("string", new[] { "value" })
};
var result = list1.All(a => list2.Any(a.Equals)); // result false
La seule façon d'obtenir un match positif est décomposition la tuple et correspondant Item2
avec une méthode qui prend en charge la comparaison des listes.
Il y a un moyen sans le faire?
Vous pouvez créer votre propre classe avec égaux outrepassée, vous pouvez utiliser 'result = list1.SequenceEqual (list2)' –