控制台未写入 class 对象名称

Console not writing class object name

C# in Visual Studio...非常简单的 main 和 class 方法。当运行时,我的程序只读出“Hi friend”,而不读出“Otis”。对正在发生的事情有什么想法吗?

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;

您将构造函数中的赋值颠倒了 - 您将(空)成员 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;
    }   
}