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

1 c# parameters datetime constructor object

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

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

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

Animal pet = new Animal("a12344", Convert.ToDateTime(23/01/2013), "Fluffy");
Run Code Online (Sandbox Code Playgroud)

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

Mar*_*zek 5

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

Convert.ToDateTime(23 / 01 / 2013);
Run Code Online (Sandbox Code Playgroud)

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

new DateTime(2013, 1, 23)改用.

Animal pet = new Animal("a12344", new DateTime(2013, 1, 23), "Fluffy");
Run Code Online (Sandbox Code Playgroud)

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