【问题标题】:Console not writing class object name [closed]控制台未写入类对象名称 [关闭]
【发布时间】:2021-01-30 18:12:35
【问题描述】:

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# .net console.writeline


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      您切换了构造函数参数分配。应该是这样的:

      Name = name;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-26
        • 1970-01-01
        • 2017-08-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多