C#中如何访问私有成员变量?

How to access private member variables in C#?

我正在尝试访问成员变量名称,我将其设置为私有成员变量,以显示为输出。请不要担心为什么我将成员变量 Name 设置为私有。仅供练习之用。

基本上我的输出是在 shell 上显示一个名字。

My name is Sora

My name is Xehanort

现在代码显示

My name is [BLANK]

我想知道这两种方法。第一个是通过用户输入,第二个是角色名称存储在程序变量中。 现在我知道如何用两种方式来做,但那是当我的成员变量是 public 但不是私有的时候。我想以私人方式进行,但我很难过。

到目前为止,这些是我的代码。第一个是角色 class...

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CSharp_Practice
{
    class Character
    {
        private string Name;
        private int Age;
        private char Gender;
        private float Height { get; set; }
        private float Weight { get; set; }
        private string Nationality { get; set; }
        private string Appearance { get; set; }


    //SET AND GET NAME
        public void setName(string name)
        {
            this.Name = name;
        }

        public string getName()
        {
            return Name;
        }

    //SET AND GET AGE
        public void setAge(int age)
        {
            this.Age = age;
        }

        public int getAge()
        {
            return Age;
        }
    }

}

...第二个是主程序。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CSharp_Practice
{
    class Program
    {
        static void Main(string[] args)
        {
            Character Hero = new Character();
            Character Villain = new Character();


            //List of Heroes
            Hero.getName();

            //           Hero.Name = "Sora";
            //           Hero.Age = 19;

            //        Villain.Name = "Xehanort";
            //        Villain.Age = 79;

            Console.WriteLine("My name is " + Hero.getName());
        }
    }
}

请告诉我该怎么做,或者如果不可能,请告诉我原因。我很感激。

如果您有一个 string 值和您希望设置的名称,您应该能够使用 Hero.setName(value) 而不是 Hero.Name = value

这适用于控制台输入和硬编码变量。