控制台未写入 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;
}
}
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;
}
}