C# 将整数输入存储在 class 中以供以后调用?

C# store an integer input in class for recall later?

我想将用户输入的整数存储为实例级变量,以便以后调用它

到目前为止 Class.cs 我有:

namespace home
{
    internal class Class
    {

        public string id;
        

        public Class()
        {

            Console.WriteLine("please enter ID");
            string input = Console.ReadLine();
            int id;
            Int32.TryParse(input, out id);
        }
    }
}

然后在 program.cs:

using home; 
Class object1 = new Class();
Console.WriteLine(object1.id);

这允许用户输入数字,但是之后不会打印数字。

我已经设法回忆起一个字符串输入,例如一个名字,但我无法让它回忆起一个数字输入,所以一切正常,除了数字被保存并在稍后显示。如果我把 Console.WriteLine(id); 放在 class.cs 中然后它会显示它,但显然它只是显示输入而不是真正存储它。

您正在将 TryParse 调用的结果保存在 Class 构造函数内部声明的“int id”变量中,因此在构造函数完成执行后释放。要修复您的代码,您应该将您的 ID 保存在 Class class.

中声明的“字符串 ID”字段中

如果要访问与局部变量(在方法中声明的变量)共享名称的成员变量(在 class 中声明的变量),则必须在其前面加上“this.”。 =12=]

现在我不确定你是否打算将其声明为字符串,但如果你这样做了,你可以这样做

internal Class()
{

    public string id;

    public Class()
    {
       Console.WriteLine("please enter ID");
       id = Console.ReadLine();
    }
}

如果您打算将其声明为 int,则可以改为这样做

internal Class()
{

    public int id;

    public Class()
    {
       Console.WriteLine("please enter ID");
       string id = Console.ReadLine();
       this.id = int.Parse(id);
    }
}