C#:如何使用DateTime作为参数创建构造函数?以及如何使用此构造函数创建对象?

时间:2014-02-09 00:36:58

标签: c# datetime object parameters constructor

我创建了一个构造函数,如下所示:

public Animal(string regNum, DateTime brought, string name)
{
    this.RegNumber = regNum;
    this.DateBrought = brought;
    this.Name = name;
    this.NameNewOwner = null;
}

基于上面的构造函数,我创建了一个名为pet的对象,如下所示:

Animal pet = new Animal("a12344", Convert.ToDateTime(23/01/2013), "Fluffy");

然而,当我运行我的程序时,它给我一个错误说:Invalid cast from Int32 to DateTime任何人都可以帮我这个吗?

1 个答案:

答案 0 :(得分:5)

构造函数不是问题。 Convert.ToDateTime来电是:

Convert.ToDateTime(23 / 01 / 2013);

它相当于Convert.ToDateTime(0)(因为23/1/2013为整数除法返回0),这是不可能的。

改为使用new DateTime(2013, 1, 23)

Animal pet = new Animal("a12344", new DateTime(2013, 1, 23), "Fluffy");

您也可以使用Convert.ToDateTime("23/01/2013"),这相当于DateTime.Parse("21/01/2013")解析,但如果您在编译时知道日期,则应该使用DateTime构造函数。