我创建了一个构造函数,如下所示:
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
任何人都可以帮我这个吗?
答案 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
构造函数。