【发布时间】:2020-12-30 15:06:33
【问题描述】:
这个类的构造器应该生成一个关于被随机选择的人的随机提示,并将提示存储在它的随机提示属性中。看来我的两个构造函数都有问题,但我不知道如何解决这个问题或问题是什么。请问有什么想法吗?
class RandomHintGame : Game
{
string randomHint;
static Random r = new Random();
// Constructor 1
public RandomHintGame(string randomHint, Person person) : base(person)
{
this.randomHint = randomHint;
}
// Constructor 2
public RandomHintGame(Person person) : this(person)
{
int randomNumber = r.Next(0, 3);
switch (randomNumber)
{
case 0: randomHint = $"The person {HasHat} a hat."; break;
case 1: randomHint = $"The person has {EyeColor} eyes."; break;
case 2: randomHint = $"The person is a {Gender}"; break;
}
}
}
【问题讨论】:
-
请编辑您的问题以更具体地说明您遇到的问题。是否有某种错误信息?还是它正在运行但未按预期运行?
-
public RandomHintGame(Person person) : this(person)肯定是错误的,因为这个类只有一个参数构造函数,而且是同一个,所以这就是无限递归。 -
我需要修复两个构造函数,因为代码错误。我不知道要使用什么参数,这就是我要问的
-
@Student:恐怕“我不懂 C#”不是一个非常具体的问题。我们在这里不提供定制辅导服务。如果您尝试解决的问题是您不熟悉该语言并且需要学习,那么我们鼓励您查找教程、示例、书籍、课程等来学习。实践是好事。如果您遇到特定问题(例如错误或意外结果),我们可以提供帮助。
-
@Student:要了解有关此社区的更多信息以及我们如何为您提供帮助,我们鼓励您从tour 开始并阅读How to Ask 及其链接资源。如果您发现代码存在特定问题,请更新问题以提供有关该问题的信息。
标签: c# oop constructor