userInputsgirl被称为变量,即使它是一个类
c#
我是 C# 的初学者,仍在学习。在编码时,我被困在这行代码上
class Program
{
static void Main(string[] args)
{
userInputsBoy userInputsBoy = new userInputsBoy(); //This particular line
userInputsGirl userInputsGirl = new userInputsGirl();
Console.Write("Enter your name in : ");
userInputsBoy.name = Console.ReadLine();
Console.Write("Enter your age here : ");
userInputsBoy.age = Convert.ToInt32(Console.ReadLine());
Console.Write("Enter your personality here : ");
userInputsBoy.personality = Console.ReadLine();
Console.WriteLine(userInputsGirl.name + " " + userInputsBoy.age + " " + userInputsBoy.personality);
}
并收到此错误
'userInputsGirl' is a variable but is used like a type
课程:
class userInputsBoy {
public string name;
public int age;
public string personality;
public userInputsBoy() {
name = "";
age = 0;
personality = "";
}
class userInputsGirl {
public string name;
public int age;
public string personality;
public userInputsGirl() {
name = "";
age = 0;
personality = "";
}
我对堆栈溢出也很陌生,所以,是的。所有的帮助都是感激的。<3
回答
这些行让您和编译器都感到困惑:
userInputsBoy userInputsBoy = new userInputsBoy();
userInputsGirl userInputsGirl = new userInputsGirl();
在每一行中,您都试图定义一个与类同名的变量。给他们不同的名字。理想情况下,在 C# 中的类应该以大写字母开头:
class UserInputsBoy {
//...
}
然后您可以为变量使用小写名称:
UserInputsBoy userInputsBoy = new UserInputsBoy();
对于 C# 命名标准来说,这至少更符合习惯。除此之外,请随意给它们起明显不同的名称以避免混淆。例如:
UserInputsBoy boy = new UserInputsBoy();
这也是您问自己为什么要拥有这两个类的好时机,以及为什么将它们称为UserInputsBoy和UserInputsGirl。这些类是相同的,而且似乎都只是简单地描述了一个“人”,那么为什么不直接使用它呢?
class Person {
public string name;
public int age;
public string personality;
public Person() {
name = "";
age = 0;
personality = "";
}
}
和:
Person boy = new Person();
Person girl = new Person();
从语义上讲,这很快就会对您所描述的内容变得更加清晰,这将使您更容易保持对正在编写的代码的理解并继续开发该代码。
顺便说一句,您还需要开始偏爱属性而不是公共字段:
class Person {
public string Name { get; set; }
public int Are { get; set; }
public string Personality { get; set; }
public Person() {
Name = "";
Age = 0;
Personality = "";
}
}