gpt4 book ai didi

c# - 比较 DateTimes : DateTime. Compare() 与关系运算符

转载 作者:IT王子 更新时间:2023-10-29 04:49:32 29 4
gpt4 key购买 nike

这里有两种比较两个日期时间的方法:

DateTime now = DateTime.Now;
DateTime then = new DateTime(2008, 8, 1);

// Method 1
if (DateTime.Compare(then, now) < 0)
// ...

// Method 2
if (then < now)
// ...

.Compare返回一个整数 (-1,0,1),指示第一个实例是早于、等于还是晚于第二个实例。

我的问题是,我为什么要使用 .Compare什么时候可以直接使用关系运算符( <<===>=> )?在我看来,使用 .Compare ,无论如何我都需要使用关系运算符(至少在上面的示例中;或者我可以创建一个 switch 语句来检查案例 -1、0 和 1)。

哪些情况更喜欢或需要使用 DateTime.Compare()

最佳答案

通常,.Compare类型上的方法用于排序,而不是用于直接比较。

IComparable<T> 接口(interface),当类型支持时,允许许多框架类正确地对集合进行排序(例如 List<T>.Sort )。

也就是说,如果您希望能够在泛型类或方法中进行比较,请将您的泛型参数限制为实现 IComparable 的类型。或 IComparable<T>将允许您使用 .Compare()用于在具体类型未知时进行比较。

关于c# - 比较 DateTimes : DateTime. Compare() 与关系运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5625196/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com