JYe*_*ton 20 c# comparison datetime
以下是比较两个DateTimes的两种方法:
DateTime now = DateTime.Now;
DateTime then = new DateTime(2008, 8, 1);
// Method 1
if (DateTime.Compare(then, now) < 0)
// ...
// Method 2
if (then < now)
// ...
Run Code Online (Sandbox Code Playgroud)
.Compare 返回一个整数(-1,0,1),指示第一个实例是否早于,等于或晚于第二个实例.
我的问题是,为什么我用.Compare的时候,我可以使用关系运算符(<,<=,==,>=,>直接)?在我看来,使用.Compare,无论如何我需要使用关系运算符(至少在上面的例子中;或者我可以创建一个检查案例-1,0和1的switch语句).
什么情况会更喜欢或需要使用DateTime.Compare()?
Ree*_*sey 16
通常,.Compare类型上的方法用于排序,而不是用于直接比较.
IComparable<T>当类型支持时,接口允许许多框架类正确地对集合进行排序(List<T>.Sort例如).
话虽如此,如果您希望能够在泛型类或方法中进行比较,请将通用参数限制为实现IComparable或IComparable<T>允许您.Compare()在具体类型未知时进行比较的类型.
| 归档时间: |
|
| 查看次数: |
7088 次 |
| 最近记录: |