如何找到最大日期

11 c#

我在Windows上使用VisualStudio 2005在C#中工作.我想找到两个日期之间的最大日期.

假设:

From Date: 10-1-2009//Day-Month-YYYY
To Date  : 1-3-2009
Run Code Online (Sandbox Code Playgroud)

我想写一个方法,返回"To Date"是两者中较大的一个.

Agi*_*Jon 61

哦,来吧,这个人尖叫着是一个单行

public static DateTime Max(DateTime a, DateTime b) {
    return a > b ? a : b;
}
Run Code Online (Sandbox Code Playgroud)


小智 16

尝试这个尺寸,再次编写Max例程没有意义 - 使用泛型!

public T Max<T>(T value1, T value2) where T:IComparable
{
    return value1.CompareTo(value2) > 0 ? value1 : value2;
}
Run Code Online (Sandbox Code Playgroud)


小智 6

您可以使用Linq to Objects扩展方法,Max如:

new [] {date1,date2,date3}.Max();
Run Code Online (Sandbox Code Playgroud)


Ada*_*sek 5

DateTime类以数字方式将时间点存储为称为tick的64位整数值.单个刻度表示一百纳秒或一千万分之一秒.一毫秒内有10,000个刻度.

由于DateTime它只是一个数值,您可以轻松地比较它们,就像使用<>运算符的任意两个数字一样.

  • 所以?我们的答案不仅仅对OP有用.有人可能,即使他没有受益. (3认同)

Aar*_*ell 2

public static DateTime WhichIsBigger(DateTime first, DateTime second) {
  if(first > second) return first;
  else return second;
}
Run Code Online (Sandbox Code Playgroud)

或者真正的 1-liner:

Func<DateTime, DateTime, DateTime> whichIsBigger = (f, s) => f > s ? f : s;
Run Code Online (Sandbox Code Playgroud)