A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 曹伟 中级黑马   /  2013-8-28 18:40  /  1263 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 就是我 于 2013-9-2 08:54 编辑

public partial class WebForm1 : System.Web.UI.Page
    {
        public static int Num { get; set; }
        protected void Page_Load(object sender, EventArgs e)
        {
            Response.Write(Num);

        }
        protected void btnAdd_Click(object sender, EventArgs e)
        {
            Num++;
        }
    }

单击新增按钮几次,当Num的值等于5时,关闭浏览器,
再重新运行,输出Num=5,纳闷了,都重新运行了,之前的值怎么还在?求解?

评分

参与人数 1技术分 +1 收起 理由
赵宗荣 + 1

查看全部评分

2 个回复

倒序浏览
static变量  按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量;另一种是没有被static修饰的变量,叫实例变量。 两者的区别是:  对于静态变量在内存中只有一个拷贝(节省内存),C#只为静态分配一次内存,在加载类的过程中完成静态变量的内存分配,可用类名直接访问(方便),当然也可以通过对象来访问(但是这是不推荐的)。  对于实例变量,没创建一个实例,就会为实例变量分配一次内存,实例变量可以在内存中有多个拷贝,互不影响(灵活)。
只要关闭ASP.net端口数值就可以不改变了

评分

参与人数 1技术分 +1 收起 理由
赵宗荣 + 1

查看全部评分

回复 使用道具 举报
丁海平 发表于 2013-8-28 20:04
static变量  按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变 ...

嗯。了解,其实一般用的比较多的是在类的方法前面加上static,然后不需要实例化,直接类名.方法名..
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马