mirror of
https://github.com/ICDSystems/ICD.Common.Utils.git
synced 2026-02-16 05:05:05 +00:00
feat: Moved FileNameEqualityComparer from Settings
This commit is contained in:
29
ICD.Common.Utils/Comparers/FileNameEqualityComparer.cs
Normal file
29
ICD.Common.Utils/Comparers/FileNameEqualityComparer.cs
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
using ICD.Common.Utils.IO;
|
||||||
|
|
||||||
|
namespace ICD.Common.Utils.Comparers
|
||||||
|
{
|
||||||
|
public sealed class FileNameEqualityComparer : IEqualityComparer<string>
|
||||||
|
{
|
||||||
|
private static FileNameEqualityComparer s_Instance;
|
||||||
|
|
||||||
|
public static FileNameEqualityComparer Instance
|
||||||
|
{
|
||||||
|
get { return s_Instance ?? (s_Instance = new FileNameEqualityComparer()); }
|
||||||
|
}
|
||||||
|
|
||||||
|
private FileNameEqualityComparer()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool Equals(string x, string y)
|
||||||
|
{
|
||||||
|
return GetHashCode(x) == GetHashCode(y);
|
||||||
|
}
|
||||||
|
|
||||||
|
public int GetHashCode(string obj)
|
||||||
|
{
|
||||||
|
return obj == null ? 0 : IcdPath.GetFileName(obj).GetHashCode();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -77,6 +77,7 @@
|
|||||||
<Compile Include="Collections\IcdOrderedDictionary.cs" />
|
<Compile Include="Collections\IcdOrderedDictionary.cs" />
|
||||||
<Compile Include="Collections\PriorityQueue.cs" />
|
<Compile Include="Collections\PriorityQueue.cs" />
|
||||||
<Compile Include="Collections\WeakKeyDictionary.cs" />
|
<Compile Include="Collections\WeakKeyDictionary.cs" />
|
||||||
|
<Compile Include="Comparers\FileNameEqualityComparer.cs" />
|
||||||
<Compile Include="Comparers\PredicateComparer.cs" />
|
<Compile Include="Comparers\PredicateComparer.cs" />
|
||||||
<Compile Include="ConsoleColor.cs" />
|
<Compile Include="ConsoleColor.cs" />
|
||||||
<Compile Include="EncodingUtils.cs" />
|
<Compile Include="EncodingUtils.cs" />
|
||||||
|
|||||||
Reference in New Issue
Block a user