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


    一个小的 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 很好玩。

  • 相关阅读:
    CSS日食与太阳碰撞
    CSS日食与太阳碰撞
    CSS日食与太阳碰撞
    CSS日食与太阳碰撞
    CSS日食与太阳碰撞
    CSS日食与太阳碰撞
    CSS日食与太阳碰撞
    CSS日食与太阳碰撞
    CSS日食与太阳碰撞
    5个最顶级jQuery图表类库插件-Charting plugin
  • 原文地址:https://www.cnblogs.com/ypyp123/p/16070367.html
Copyright © 2020-2023  润新知