none
请大家看一下,这个类会被自动释放吗? RRS feed

  • 问题

  • dialog.cs

    ------------

    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;

    /// <summary>
    /// dialog 的摘要说明
    /// </summary>
    public class dialog
    {
     public   static   int   aa=0;
    }

     

    default.cs

    --------------------

    using ..............

    public partial class default: System.Web.UI.Page
    {......

     protected void Page_Load(object sender, EventArgs e)

    {

    dialog.aa=11;给类中的变量aa赋值

    }

     private void showtree()
        {
            String s1=dialog.aa.ToString();将类中变量值转变为字符并赋给字符变量s1
        }

    -----}
    当我从default.cs这个页面跳转到别的页面或关闭时,dialog这个类会被自动释放吗,类中静态变量aa占用的资源和内存也会被释放吗?

     请高手指点!!   Smile

    2007年12月17日 13:38

答案

  • 我猜测,没做过试验:

    当跳转到或者关闭页面时,因为,你并没有实例化dialog类,而是直接访问它的静态变量,因此不存在释放dialog类的问题。静态变量是属于类型,而不是实例的,应该不是存放在实例所占用的内存里,而是存放在一个为类型分配的特殊的内存里,这种为类型分类的内存,应该在一个应用程序中或者一个AppDomain中(我也不清楚)一旦创建是不会被释放的,除非整个应用程序或者AppDomain被释放。

    2007年12月17日 16:08
    版主