永发信息网

static变量传值的问题

答案:3  悬赏:0  手机版
解决时间 2021-01-04 09:25
外部定义 static int housesid = 0;
protected void Page_Load(object sender, EventArgs e)
{
if(111)
{
housesid = int.Parse(dr[0].ToString());
}
if(222)
{
housesid = int.Parse(dr[0].ToString());
}
if(333)
{
housesid = int.Parse(dr[0].ToString());
}

}
protected void gwtitle_RowCommand(object sender, GridViewCommandEventArgs e)
{
Response.Redirect("~/frm/Show_Seek_Lease_Input.aspx?houses=" + housesid);
}

这是简单的代码
我在Show_Seek_Lease_Input.aspx页面接受的值为什么始终只是一个.而不变呢?
求高手解决
最佳答案
static变量只能初始化一次,以后会忽略对他所有的赋值操作,并驻留在内存里
全部回答
static变量只能初始化一次
给你详细点,,注意主函数的z和p1函数的z不一样,在用call调用时,始终没调用主函数中的z,所以print输出时,z始终是2,p1函数中z默认开始为0。另外区别下传值和传地址,x没被定义,默认为byref传址,意思是当x变化时,相应的参数值(a或b)也变化,而y定义为byval传值,当y变化时,相应的参数(a或b)不会发生变化。 第一次: a = 1: b = 3: z = 2 call p1(a, b) 这步是把a=1,b=2调入p1函数中运算,z不调用,及x=a=1,y=b=3, p1函数中:x=x+z=1+0=1,. y=x-z=1-0=1, z=10-y=10-1=9, 返回时,由于只有x是传地址,所以才会变化,所以a=x=1,而b都不会随着参数变化而变化,z已在上面说明,所以b=3,z=2。 输出a,b,c为 1,3,2 第二次: call p1(b, a) 注意这次x=b=3 ,y=a=1,z不调用,p1函数中的z用staic定义过,所以这次是上次计算结果9. x=x+z=b+z=3+9=12 y=x-z=12-9=3 z=10-y=10-3=7 第二次返回时,b=x=12,而y是传值,所以a还是原值1,同样z也没调入,同样是2 输出a,b,c为 1,12,2
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
潞城市公安局地址在哪?我要去那里办事
温泉战倭世界公共日常详解 千岛湖世界任务怎
现在买什么车来跑黑车适合,求推荐
四轮滑板哪个牌子好
2002年我国普通高校计划招生2750000人,将这
黎城县公安局位置在什么地方啊,我要过去办理
如图是研究“研究凸透镜成像”实验图,若在凸
诺用韩文怎么写
幼儿园小班周周评语
好友微信号在哪看
第三部分阅读理解(共15小题;每小题2分,满
单选题下列说法正确的是A.三点确定一个平面B.
气宇轩昂胜当年是什么意思
家是西安的,腰腿痛好多年了,听说陕西光大医
壶关县公安局地址在哪?我要去那里办事
推荐资讯
下家庄村委会位置在什么地方啊,我要过去办理
地理的外力作用和内力作用怎么区分
新芜开发区派出所在什么地方啊,我要处理点事
电脑上着上着突然断网一阵一阵的这是为什么
河在河的远方阅读答案
单选题用下列哪种染色剂可以鉴定RNA的存在A.
我现在是东北大学大二学生,这学期结束如果累
无法坚持用什么成语代替:
日语 公司运转良好,制度成熟 怎么说? 谢谢
节奏的具体含义是什么??
请问,广东轻工职业技术学院、广州大学、深圳
T恤可以改小吗,大概多少钱
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?