【问题标题】:Multiple instance of custom class自定义类的多个实例
【发布时间】:2015-04-10 13:09:31
【问题描述】:

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

假设我有一个 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 应用程序实例(例如 2 或 3 个用户同时使用 Web 应用程序),那么 obj 的值会混淆吗?或者它是运行的 Web 应用程序实例所独有的。

【问题讨论】:

  • 带有new 的实例是不同的引用

标签: c# asp.net oop


【解决方案1】:

那么 obj 的值会混淆吗?

没有,因为您还没有将Employee [或其属性] 定义为static

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

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

【讨论】:

  • @CodeCaster,感谢您的评论。用您的评论编辑了答案。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-29
    • 1970-01-01
    • 2014-09-28
    相关资源
    最近更新 更多