变量不保存C#中的数据

mar*_*ike -3 c# variables

我一直想知道为什么我的变量没有保存数据.这是我的代码

class MainProg
{
  public string name;
  static void Main()
  {
   MainProg m = new MainProg();
   m.Start();
  }
  public void Start()
 {
 Register rs = new Register();
    Register r = (Register)rs;

    r.run();
    Console.WriteLine(name);

 }


}


class Register : MainProg
{
  public void run()
  {
    name = "a";
  }
}
Run Code Online (Sandbox Code Playgroud)

我忘记了什么吗?每当我试图显示输出它什么都没有.谢谢你抽出时间.

Bon*_*nyT 5

这会奏效.

class MainProg
{

    static void Main()
    {
        Register rs = new Register();
        Register r = (Register)rs;

        r.run();
        Console.WriteLine(r.name);
    }

}


class Register : MainProg
{
    public string name;
    public void run()
     {
        name = "a";
     }
}
Run Code Online (Sandbox Code Playgroud)

你的代码失败的原因是你正在创建一个Register实例,它与MainProg是分开的,即使它继承了它.您在新实例中设置变量,然后从旧实例中读取它.