创建新对象后修改的静态变量数据

本文关键字:修改 静态 变量 数据 新对象 对象 创建 | 更新日期: 2023-09-27 18:25:48

在创建多个对象后,我创建了一个静态变量,并试图访问其内容,但没有得到相同的值。

class Emp
{
    int id;
    static int empID;
    public Emp()
    { 
        empID = id++;        
    }
    public static int geID()
    {
        return empID;
    }
    public static void setEmpID(int value)
    {
        empID = value;
    }
}
class Program
{
    static int Main(string[] args)
    {
        Emp.setEmpID(76);
        Emp e1 = new Emp();
        Emp e2 = new Emp();
        Console.WriteLine(Emp.geID());
        return 0;        
    }
}

为什么我在控制台上得到"0",而我期望76在控制台上。有什么想法吗?

创建新对象后修改的静态变量数据

在构造函数中,您将empID设置为id(id=0),AFTER将1添加到id。我想你需要更改你的代码,比如:

class Emp
{
    int id;
    static int empID;
    public Emp()
    { 
        id = empID++;
    }
    public static int geID()
    {
        return empID;
    }
    public static void setEmpID(int value)
    {
        empID = value;
    }
}