.NET DateTime类型变量作为参数时设置默认值_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > .NET DateTime类型变量作为参数时设置默认值

.NET DateTime类型变量作为参数时设置默认值

 2016/5/17 5:30:28  Cosmic_Spy  程序员俱乐部  我要评论(0)
  • 摘要:一个小的Tips..NET中函数参数的默认值需要是编译时常量。如果参数是引用类型,可以设置Null,如果是值类型,可以设置相应的编译时常量,如整型可以用整数,但对于DateTime(结构体,值类型)想要设置默认类型时要如何处理?通常情况下会给DateTime结构体默认当时时间,即DateTime.Now,但DateTime.Now不是编译时常量,因此无法通过编译。如以下代码无法通过编译:publicconstDateTimedefaultDateTime=DateTime.Now
  • 标签:.net net 默认值

一个小的 Tips.

.NET 中函数参数的默认值需要是编译时常量。如果参数是引用类型,可以设置Null,如果是值类型,可以设置相应的编译时常量,如整型可以用整数,但对于DateTime(结构体,值类型)想要设置默认类型时要如何处理?

通常情况下会给 DateTime 结构体默认当时时间,即 DateTime.Now,但 DateTime.Now 不是编译时常量,因此无法通过编译。

如以下代码无法通过编译:

public const DateTime defaultDateTime = DateTime.Now;

但可以通过设置 DateTime 类型参数为可空类型,给其默认参数为 null,并在函数中进行判断赋值来实现,如下代码:

static void TestMethod(DateTime? date = null)
{
    date = date ?? DateTime.Now; 
}

以上思路是将 DateTime 参数转换为可空类型,并赋予默认值 null,然后在函数体内先判断参数是否为空,如果为空则用 DateTime.Now 来赋值,否则使用参数值。

 

以上内容很简单,只是觉得这个 Tips 很好玩。

上一篇: 一起来学习android自定义控件3——边缘凹凸的View 下一篇: 没有下一篇了!
发表评论
用户名: 匿名