问题描述
Visual Studio 中的 C#...非常简单的 main 和 class 方法。运行时,我的程序只读出“嗨朋友”,而不是“奥蒂斯”。对正在发生的事情有什么想法吗?
using System;
namespace Project
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hi friend");
Cow myCow = new Cow("Otis");
Console.WriteLine(myCow.Name);
}
}
class Cow
{
public string Name { get; set; }
public Cow(string name)
{
name = Name;
}
}
}
解决方法
您在构造函数中的赋值颠倒了 - 您将(空)成员 Name
分配给参数 name
,而不是相反:
class Cow
{
public string Name { get; set; }
public Cow(string name)
{
Name = name;
}
}
注意 - 使用 this
会使其更明确,更容易发现此类错误:
class Cow
{
public string Name { get; set; }
public Cow(string name)
{
this.Name = name;
}
}
,
您切换了构造函数参数分配。应该是这样的:
Name = name;