asp.net 静态变量 、局变量

来源:互联网 发布:维棠flv for mac 编辑:程序博客网 时间:2024/05/03 05:36

首先要明确:

静态变量 用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();        }
这样就不会出现上面的问题了,因为只有一个对象哦···