防止每次点击后全局变量初始值发生变化
2012-12-10 14:03
218 查看
在做项目的时候每次点击后,数目越来越大,始终在刚才的数目基础上继续增加,这时候我还不能把那个变量定义为局部变量,因为是个递归技术问题,所以我就想出一个怪异的想法:“我每次调用该函数时,就首先他用到的那个全局变量重新初始化”,于是 我就写了个函数在每第一次执行 public int BianLiAllZiDanwei(int id)
时,先调用 public void Alterk()函数,使变量重新初始化;
关键代码如下:
public int BianLiAllZiDanwei(int DepartmentId)
{
dal.Alterk(); /
return dal.BianLiAllZiDanwei(DepartmentId);
}
//下面的方法是利用上面的递归思想
security_teamservice security_teamdal = new security_teamservice();
int k;
public void Alterk()//每第一次调用下面的函数时先执行该函数
{
k = 0;
}
public int BianLiAllZiDanwei(int id)
{
IEnumerable<basic_unit_of_informationmodel> children =
GetByParentId1(id);
//递归调用DeleteAllNode让子节点删除
foreach (basic_unit_of_informationmodel script in children)
{
int i = security_teamdal.GetRecordCount("DepartmentId=" + script.DepartmentId.ToString());
k = k + i;
//删除子节点。递归调用
BianLiAllZiDanwei((int)script.DepartmentId);
}
return k;
}
时,先调用 public void Alterk()函数,使变量重新初始化;
关键代码如下:
public int BianLiAllZiDanwei(int DepartmentId)
{
dal.Alterk(); /
return dal.BianLiAllZiDanwei(DepartmentId);
}
//下面的方法是利用上面的递归思想
security_teamservice security_teamdal = new security_teamservice();
int k;
public void Alterk()//每第一次调用下面的函数时先执行该函数
{
k = 0;
}
public int BianLiAllZiDanwei(int id)
{
IEnumerable<basic_unit_of_informationmodel> children =
GetByParentId1(id);
//递归调用DeleteAllNode让子节点删除
foreach (basic_unit_of_informationmodel script in children)
{
int i = security_teamdal.GetRecordCount("DepartmentId=" + script.DepartmentId.ToString());
k = k + i;
//删除子节点。递归调用
BianLiAllZiDanwei((int)script.DepartmentId);
}
return k;
}
相关文章推荐
- 为什么全局变量没有发生变化?
- 1.正则表单验证2.全局变量作为形参传入函数内部操作之后,变量的值在全局上不发生改变的解决方法
- C 防止 全局 变量 重复 定义 巧妙办法
- [C语言]防止头文件和全局变量重复定义
- 经过static修饰过变量与不被static修饰的变量在运算中初始值的变化关系
- input 输入加了 背景图片之后,防止 默认式样 发生变化的方法
- cocos2d-x + Lua初始环境下的_G全局变量内容
- 初始值设定元素不是常量(全局变量初始化问题)
- 全局变量有默认的初始值
- 防止重复提交要设置全局变量进行校验true false
- 防止全局变量、头文件重复包含与 extern 的使用
- 几个.C文件想同时调用定义在.H文件里面的全局变量,防止重定义变量问题。
- 防止js全局变量污染方法总结
- Ajax 得到的值对全局变量赋值没有起作用解决办法和 Jquery append()进去的动态代码 点击的js没起作用
- JavaScript防止全局变量污染的方法总结
- VUE中让由全局变量添加生成的新数组不随全局变量的变化而变化
- 【java】事件监听——通过点击不同的按钮,让面板的背景色发生相应的变化
- cocos2d-x + Lua初始环境下的_G全局变量内容
- android 点击按键背景发生变化
- ASP.NET中GridView:当鼠标滑过行时背景颜色、数据字体发生变化,鼠标离开行时还原初始状态