From 0d85fe81068348a969dfc070fb4e78025ff171ba Mon Sep 17 00:00:00 2001 From: Chris Cameron Date: Wed, 14 Oct 2020 16:43:26 -0400 Subject: [PATCH] refactor: Using EqualityComparer instead of Comparer for equality... --- .../Extensions/EnumerableExtensionsTest.cs | 2 +- ICD.Common.Utils/Extensions/EnumerableExtensions.cs | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ICD.Common.Utils.Tests/Extensions/EnumerableExtensionsTest.cs b/ICD.Common.Utils.Tests/Extensions/EnumerableExtensionsTest.cs index dbe4261..fb6866f 100644 --- a/ICD.Common.Utils.Tests/Extensions/EnumerableExtensionsTest.cs +++ b/ICD.Common.Utils.Tests/Extensions/EnumerableExtensionsTest.cs @@ -537,7 +537,7 @@ namespace ICD.Common.Utils.Tests.Extensions [Test] public void ConsolidateComparerTest() { - string[] sequence = new[] {"A", "B", "B", "C"}.Consolidate(Comparer.Default).ToArray(); + string[] sequence = new[] {"A", "B", "B", "C"}.Consolidate(EqualityComparer.Default).ToArray(); Assert.AreEqual(3, sequence.Length, StringUtils.ArrayFormat(sequence)); Assert.AreEqual("A", sequence[0]); diff --git a/ICD.Common.Utils/Extensions/EnumerableExtensions.cs b/ICD.Common.Utils/Extensions/EnumerableExtensions.cs index 5956315..2254198 100644 --- a/ICD.Common.Utils/Extensions/EnumerableExtensions.cs +++ b/ICD.Common.Utils/Extensions/EnumerableExtensions.cs @@ -1539,7 +1539,7 @@ namespace ICD.Common.Utils.Extensions if (extends == null) throw new ArgumentNullException("extends"); - return Consolidate(extends, Comparer.Default); + return Consolidate(extends, EqualityComparer.Default); } /// @@ -1555,7 +1555,7 @@ namespace ICD.Common.Utils.Extensions /// [PublicAPI] public static IEnumerable Consolidate([NotNull] this IEnumerable extends, - [NotNull] IComparer comparer) + [NotNull] IEqualityComparer comparer) { if (extends == null) throw new ArgumentNullException("extends"); @@ -1578,14 +1578,14 @@ namespace ICD.Common.Utils.Extensions /// /// private static IEnumerable ConsolidateIterator([NotNull] IEnumerable sequence, - [NotNull] IComparer comparer) + [NotNull] IEqualityComparer comparer) { bool first = true; T last = default(T); foreach (T item in sequence) { - if (!first && comparer.Compare(last, item) == 0) + if (!first && comparer.Equals(last, item)) continue; first = false;