Code cleanup

This commit is contained in:
Laura Hausmann 2021-07-25 23:35:22 +02:00
parent ed04d034da
commit e0728158e5
Signed by: zotan
GPG key ID: D044E84C5BE01605

View file

@ -50,21 +50,19 @@ namespace webmusic.Pages {
private readonly bool _isAscending; private readonly bool _isAscending;
public NaturalSortComparer(bool inAscendingOrder = true) { public NaturalSortComparer(bool inAscendingOrder = true) {
this._isAscending = inAscendingOrder; _isAscending = inAscendingOrder;
} }
int IComparer<string>.Compare(string x, string y) { int IComparer<string>.Compare(string x, string y) {
if (x == y) if (x == y)
return 0; return 0;
string[] x1, y1; if (!_table.TryGetValue(x!, out var x1)) {
if (!_table.TryGetValue(x!, out x1)) {
x1 = Regex.Split(x.Replace(" ", ""), "([0-9]+)"); x1 = Regex.Split(x.Replace(" ", ""), "([0-9]+)");
_table.Add(x, x1); _table.Add(x, x1);
} }
if (!_table.TryGetValue(y!, out y1)) { if (!_table.TryGetValue(y!, out var y1)) {
y1 = Regex.Split(y.Replace(" ", ""), "([0-9]+)"); y1 = Regex.Split(y.Replace(" ", ""), "([0-9]+)");
_table.Add(y, y1); _table.Add(y, y1);
} }
@ -92,11 +90,10 @@ namespace webmusic.Pages {
} }
private static int PartCompare(string left, string right) { private static int PartCompare(string left, string right) {
int x, y; if (!int.TryParse(left, out var x))
if (!int.TryParse(left, out x))
return string.Compare(left, right, StringComparison.Ordinal); return string.Compare(left, right, StringComparison.Ordinal);
return !int.TryParse(right, out y) ? string.Compare(left, right, StringComparison.Ordinal) : x.CompareTo(y); return !int.TryParse(right, out var y) ? string.Compare(left, right, StringComparison.Ordinal) : x.CompareTo(y);
} }
private Dictionary<string, string[]> _table = new(); private Dictionary<string, string[]> _table = new();