Feedback

C# - Comparing two lists

Veröffentlicht von am 07.11.2012
(0 Bewertungen)
Überprüft, ob der Inhalt zweier Listen gleich ist anhand der Hashcodes der Elemente
/// <summary>
        /// Prüft zwei Ausflistungen auf Übereinstimmung.
        /// </summary>
        /// <param name="resultIfEmpty">Was soll zurückgegeben werden, wenn beide Listen leer sind?</param>
        /// <returns></returns>
        private bool HasDifferences<T>(ICollection<T> listA, ICollection<T> listB, bool resultIfEmpty)
        {
            if (!listA.Any() && !listB.Any()) return resultIfEmpty;
            
            // Unterschiede, wenn ...
            // Anzahl unterschiedlich
            // ODER
            // (Es gibt Liste A Elemente, die nicht in Liste B enthalten sind
            // ODER es gibt List B Elemente, die nicht in Liste A enthalten sind)

            return listA.Count != listB.Count || (listA.Any(iA => !listB.Contains(iA)) || listB.Any(iB => !listA.Contains(iB)));
        }
Abgelegt unter compare, lists, vergleich, listen.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!