8

使用 decimal.compare 与仅使用 > 或 < 比较变量有什么好处?

4

3 回答 3

5

一方面,它使构建Comparison<decimal>委托实例变得非常容易:

Comparison<decimal> foo = decimal.Compare;

这很方便传递给需要任意比较委托的东西。

如果您使用的语言不支持重载运算符,它也可能很有用。这就是建议您不要公开由运营商支持的功能的原因。

于 2008-12-02T15:59:34.873 回答
4

Decimal.Compare 返回一个有符号数,指示两个十进制值的相对值。一个典型的用途是排序。

>、>=、< 等运算符返回布尔值。

因此它们用于不同的场景。

于 2008-12-02T16:47:02.953 回答
1

在 CLI 中,十进制不是像 Int32、String 和其他类型那样的本机类型。我猜 C# 在幕后使用 Compare 来实现比较运算符。

此外,您可以将比较作为参数传递给排序例程,而无需创建委托,从而减少排序中的方法嵌套级别。

这是我头顶上的几件事。

于 2008-12-02T15:58:47.123 回答