gpt4 book ai didi

c# - 无法将默认比较器作为 IComparer
转载 作者:行者123 更新时间:2023-11-30 18:53:19 27 4
gpt4 key购买 nike

我正在尝试调用一个需要参数类型为 IComparer<object> 的“排序”方法,使用代码:

collection.Sort((IComparer<object>)Comparer<DateTime>.Default)

它构建但在运行时我收到一个 InvalidCastException 消息:

Unable to cast object of type
'System.Collections.Generic.GenericComparer`1[System.DateTime]'
to type 'System.Collections.Generic.IComparer`1[System.Object]'.

现在呢?

最佳答案

如果你想要的只是默认比较,这会起作用:

collection.Sort(Comparer<object>.Default)

Comparer.Default 使用对象的固有比较语义(即 IComparable.CompareTo)。

关于c# - 无法将默认比较器作为 IComparer<object>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1375291/

27 4 0