自定义类的多个实例

时间:2015-04-10 13:09:31

标签: c# asp.net oop

我有一个令人困惑的简单问题..

假设我有一个类为Employee,如下所示

public Class Employee {

   public Int EmpID { get; set ;}
   public string EmpName { get; set ; }
}

假设Web应用程序创建对象的实例,如下所示

Employee obj = new Employee()
obj.EmpID = Int32.Parse(txtID.text)
obj.EmpName = txtName.text

如果执行了多个Web应用程序实例(例如同时使用Web应用程序的2或3个用户),那么obj的值是否会混淆?或者它对于运行Web应用程序的实例是唯一的。

2 个答案:

答案 0 :(得分:3)

  

那么obj的值会混淆吗?

从来没有,因为你没有将Employee [及其属性]定义为static

  

或者它对于运行Web应用程序的实例是唯一的。

是的,它们是独一无二的。无论有多少用户访问您的页面,他们都会有一个Employee对象的不同实例引用(或)指向堆区域中的不同内存地址。

答案 1 :(得分:1)

它创建的每个对象实例的唯一性,无论它是相同的用户还是不同的用户,并且在它超出范围之后或在GC的请求之后被销毁。除非您使用静态变量(请参阅Here)或将对象的实例放入会话变量(用户会话中唯一的)或缓存中。