请问 1: static void TestMethod(DateTime date = DateTime.Now)
2: {
3: //Others...
4: }
此时date默认值怎么赋?????
用DateTime.Now编译出错。。。要用常量。。。
static void TestMethod(DateTime? date = null) { date = date??DateTime.Now; }
我就是要在上面给一个默认值,不用可空类型。。。
@小小高: 这么完美的解决方案不要?值缺省的时候赋当前时间,都符合你的,一个要写死在上面赋个?
@稳稳的河: 我现在就是这样用的,但是强迫症犯了。。。
你把DateTime类型换成string类型不就行了
我要用DateTime类型(不要可空的),注:变量给不了。。请具体点
@小小高:
static void Test(string dateTime = "2015-08-19") { DateTime date = DateTime.Parse(dateTime); }
在全局申明一个 常量 datetime
public static const DateTime defaultDateTime = DateTime.Now;
然后你方法上 等于这个 defaultDateTime
你确定你这样申明常量没有问题?
@MrNice: 有问题 我测试下在回复
@MrNice: 我测试的结果是 datetime 不能被设置为常量
所以static void TestMethod(DateTime date = DateTime.Now)
这种写法天生没戏
但是可以按 幻天芒的来
没办法让一个DateTime类型对象作为一个编译时常量的(也许是我还没想到吧)
不过作为程序员,我们很多时候真的要转个弯来解决为题,程序不可能一直都能直接按照我们的想法来解决问题
我比较支持 幻天芒的解决方案
可以使用DateTime date = new DateTime()或DateTime date = default(DateTime)