为什么不允许在.net中创建日期时间常量

本文关键字:创建日期 时间 常量 net 不允许 为什么 | 更新日期: 2023-09-27 18:00:50

我想在.net中创建一个日期时间常数,但收到错误消息

const DateTime dt = Convert.ToDateTime("02/02/2014");

’系统。DateTime"不能声明为常量。

为什么不允许在.net中创建日期时间常量

即使可以DateTime声明为const(正如其他答案所示,您不能(,您也必须使用编译时间常数作为值,而DateTime.Now肯定不是编译时间常数。

这是有效的:

static readonly DateTime dt = DateTime.Now();

请注意,这将是"无论该类型的类型初始值设定项何时运行"。这很少是一个特别有用的值,除非你确保它在启动时初始化,假设这是你试图测量的。。。

DateTime不是C#语言中的本机类型,而是来自的结构。网络图书馆。

在C#中,只能从本地语言类型创建常量,并且只能使用编译时可以计算的值对它们进行初始化。日期时间。现在无法在编译时计算。

(唯一可以与const一起使用的引用类型是字符串,这是因为字符串是专门处理的。(

请参阅http://msdn.microsoft.com/en-gb/library/e6w8fe1b%28v=vs.71%29.aspx