Using new .Chunk and .DistinctBy Linq Extensions

This commit is contained in:
Kwoth
2021-12-24 02:10:21 +01:00
parent 594a3b1f97
commit 26ee6ce4d3
6 changed files with 14 additions and 45 deletions

View File

@@ -39,7 +39,7 @@ public partial class Utility
{
var selection = typeof(Math).GetTypeInfo()
.GetMethods()
.Distinct(new MethodInfoEqualityComparer())
.DistinctBy(x => x.Name)
.Select(x => x.Name)
.Except(new[]
{
@@ -51,11 +51,4 @@ public partial class Utility
await SendConfirmAsync(GetText(strs.calcops(Prefix)), string.Join(", ", selection));
}
}
private class MethodInfoEqualityComparer : IEqualityComparer<MethodInfo>
{
public bool Equals(MethodInfo x, MethodInfo y) => x.Name == y.Name;
public int GetHashCode(MethodInfo obj) => obj.Name.GetHashCode(StringComparison.InvariantCulture);
}
}

View File

@@ -30,7 +30,7 @@ public class CommandMapService : IInputTransformer, INService
.ToDictionary(
x => x.GuildId,
x => new ConcurrentDictionary<string, string>(x.CommandAliases
.Distinct(new CommandAliasEqualityComparer())
.DistinctBy(ca => ca.Trigger)
.ToDictionary(ca => ca.Trigger, ca => ca.Mapping))));
_db = db;
@@ -96,11 +96,4 @@ public class CommandMapService : IInputTransformer, INService
return input;
}
}
public class CommandAliasEqualityComparer : IEqualityComparer<CommandAlias>
{
public bool Equals(CommandAlias x, CommandAlias y) => x.Trigger == y.Trigger;
public int GetHashCode(CommandAlias obj) => obj.Trigger.GetHashCode(StringComparison.InvariantCulture);
}