我有一个令人困惑的简单问题..
假设我有一个类为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应用程序的实例是唯一的。
答案 0 :(得分:3)
那么obj的值会混淆吗?
从来没有,因为你没有将Employee
[及其属性]定义为static
。
或者它对于运行Web应用程序的实例是唯一的。
是的,它们是独一无二的。无论有多少用户访问您的页面,他们都会有一个Employee
对象的不同实例引用(或)指向堆区域中的不同内存地址。
答案 1 :(得分:1)
它创建的每个对象实例的唯一性,无论它是相同的用户还是不同的用户,并且在它超出范围之后或在GC的请求之后被销毁。除非您使用静态变量(请参阅Here)或将对象的实例放入会话变量(用户会话中唯一的)或缓存中。