首页 > 解决方案 > 控制台未写入类对象名称

问题描述

Visual Studio 中的 C#... 非常简单的 main 和 class 方法。运行时,我的程序只读出“Hifriend”,而不是“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;
        }   
    }
}

标签: c#.netconsole.writeline

解决方案


您将构造函数中的赋值反转 - 您将(空)成员分配给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;
    }   
}

推荐阅读