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();

这也是您问自己为什么要拥有这两个类的好时机,以及为什么将它们称为UserInputsBoyUserInputsGirl。这些类是相同的,而且似乎都只是简单地描述了一个“人”,那么为什么不直接使用它呢?

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 = "";
    }
}


以上是userInputsgirl被称为变量,即使它是一个类的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>