现在的位置: 首页 > 综合 > 正文

asp.net 静态变量 、局变量

2013年08月02日 ⁄ 综合 ⁄ 共 756字 ⁄ 字号 评论关闭

首先要明确:

静态变量 用static表示,表达的意思是:

1.静态变量由类名访问,因为它是属于类的,而不是某个变量的。

2.静态变量由其所在的类生成的所有对象共同维护,谁都可以改变或获取它的值,但绝对不会重新声明。

第一个程序:

1.string user_no = "No";// 注意这句
2.protected void LinkButton1_Click(object sender, EventArgs e)
        {
         user_no = "Yes";
        }

3. protected void Button2_Click(object sender, EventArgs e)
        {
          Label1.Text = user_no;
         }

在aspx.cs中执行如上代码(先 LinkButton1_Click 再 Button2_Click)后,Label1显示的值是"No"而不是"Yes",但是在第一句前加上static后就显示"Yes"了 ;
自认为,点击两个按钮后生成page类两个对象,有各自的user_no,初始化为"No",当加上static后,变为静态变量,
所有对象共同维护一个拷贝。

第二个程序:

string sql = "select food_id,name,picture,shop_id,price,sale from food order by food_id asc ";
protected void Button1_Click(object sender, EventArgs e)
        {
            sql = "select food_id,name,picture,shop_id,price,sale from food order by price asc ";
            GridView1.DataSource = getData();
            GridView1.DataBind();
        }

这样就不会出现上面的问题了,因为只有一个对象哦···

抱歉!评论已关闭.