static public bool Equals(string first, string second, PathCaseComparison caseComparison, FolderPathEquality folderEquality) { if (first == null && second == null) { return(true); } if (first == null ^ second == null) { return(false); } return(string.Equals(ApplyFolderEquality(PathUtils.Normalize(first), folderEquality), ApplyFolderEquality(PathUtils.Normalize(second), folderEquality), GetStringComparison(caseComparison))); }
static public int Compare(string first, string second, PathCaseComparison caseComparison, FolderPathEquality folderEquality) { if (first == null && second == null) { return(0); } if (first == null) { return(-1); } if (second == null) { return(1); } return(string.Compare(ApplyFolderEquality(PathUtils.Normalize(first), folderEquality), ApplyFolderEquality(PathUtils.Normalize(second), folderEquality), GetStringComparison(caseComparison))); }
public int GetHashCode(string obj) => ApplyCaseComparison(ApplyFolderEquality(PathUtils.Normalize(obj), FolderEquality), CaseComparison).GetHashCode();