我想制定一个比较两种类型的DateTime比较干净的方式?对象而无需打扰大量的空检查。比较DateTime的Date属性?
下面是一个好主意,或者是有一个更简单或明智的方式去做;
DateTime? test = DateTime.MinValue;
DateTime? date1 = new DateTime(2008, 6, 1, 7, 47, 0);
if (string.Format("{0:MM/dd/yyyy}", date1) == string.Format("{0:MM/dd/yyyy}", test))
{
Console.WriteLine("They are the same");
}
else
{
Console.WriteLine("They are different");
}
我同意你的方法比我的建议更加灵活和优雅。但是,我主要是在寻找一种易于阅读和维护的解决方案。我喜欢这种扩展方法的思想,并且它足够通用,可以被Nullable类型使用,但是,在我的小型项目中,它仍然可能仅用于这个实例。只有一种用法的扩展方法(或投影方法)会被视为超过工程吗?我不是有意质疑你的方法,我只是在两方面思考什么是最好的。注:我不是说我最好:) – 2012-02-01 03:48:12
@MrMoose:我不确定 - 只是*一个*使用我可能还会提取一个方法,但是它只是*用于比较日期。我绝对要么做到这一点,要么与明确的空比较 - 我当然不会使用文本格式。 – 2012-02-01 06:27:22
谢谢。你已经说出了我的AWESOME解决方案。对于我目前的情况,我可能最终会使用bvli的例子(修改为适合),但我喜欢你的方法。 – 2012-02-01 06:33:19