'ConsoleApplication1.Student'不包含带有1个参数的构造函数

时间:2016-12-15 08:24:50

标签: c#

我是正在学习c#的学生,当我执行程序时遇到错误。

On console:我希望看到字符串'Harry'

  

错误:'ConsoleApplication1.Student'不包含带有1个参数的构造函数

  namespace ConsoleApplication1
   {
   class Program
   {
    static void Main(string[] args)
    {
        Student student = new Student("Harry");
        System.Console.WriteLine(student.ToString());
        System.Console.ReadLine();
    }
}

class Student
{
    public string Name { get; set; }
}
}

问题:如何解决该计划?请任何人指导我。

4 个答案:

答案 0 :(得分:5)

你的类需要一个带有一个参数的构造函数。

Student student = new Student("Harry");
System.Console.WriteLine(student.ToString());

<强>类别:

class Student
{
    public string Name { get; set; }

    public Student(string Name) //constructor here
    {
        this.Name = Name;
    }

    public override string ToString() //overload of ToString
    {
        return this.Name;
    }
}

正如蒂姆所提到的那样 - 另一种方式是让课堂不受影响,只需设置并阅读该属性

Student student = new Student() { Name = "Harry" };
Console.WriteLine(student.Name);

<强>类别:

class Student
{
    public string Name { get; set; }
}

答案 1 :(得分:3)

您需要更改您的学生班级,以获得一个带有一个参数的构造函数

class Student
{
    public string Name { get; set; }

    public Student(string name)
    {
        this.Name = name;
    }

    public Student() { }
}

答案 2 :(得分:1)

然后创建一个带有1个参数的构造函数。

  

在控制台上,我希望看到字符串&#39; Harry&#39;

因此,您需要将覆盖添加到merthod ToString(),例如:

class Student
{
    public  string Name {get; set;}

    public Student(string name)
    {
        Name = name;
    }

    public override string ToString();
    {
        return Name;
    }
}

答案 3 :(得分:0)

你没有定义任何构造函数,特别是没有1个参数,但是你试图通过调用Student(&#34; Harry&#34;)来使用这样的: - )。

使用String参数定义构造函数,它会没问题。