如何纪录方法被调用次数,以及定义Int型数据判断
现在想做这样一个功能,某个函数只能被调用 6次. 我用Button做过i++每次+1.如果达到6,就Return false应该就OK了.
有两个问题
1 怎么实现? 最好 C# Js 都来一份
2 定义整型I后, 判断 if (i==null) or (i.tostring==null) or (i.tostring=="") 都进不去断点. 那它定义后到底属于空呢还是null还是别的? (我只是想判断无值的时候给他赋个值, 其实第1题回答了,第2题也就回答了 )
谢谢大家了!!
C# code
protected int i;
protected void Page_Load(object sender, EventArgs e)
{
}
public void binder()
{
if (i.ToString() == null)
{
}
if (i.ToString() == "")
{
}
if (i == null)
{
}
}
protected void Button1_Click(object sender, EventArgs e)
{
binder();
}
------解决方案--------------------I 初始值是0 不是null 所以进不去啊
------解决方案--------------------web和winform不一样的!!!每次请求页面都会生成一个Page对象,所以每次i的初始值都是0
------解决方案--------------------public static int i=0;
protected void Button1_Click(object sender, EventArgs e)
{
i++;
if(i>6)
{Button1.Enable=false;
retrun;
}
}
------解决方案--------------------
------解决方案--------------------i 是申明为全局的虽然没有赋初始值,会自动给它个 初始值是0 ,所以进不去,代码编译时会出现警告,如果在方法里面直接定义i不给初始值就错误,所以说你上面的判断:
if (i.ToString() == null)
{
}
if (i.ToString() == "")
{
}
if (i == null)
{
}
无用,直接判断if (i == 0){}就可以了
------解决方案--------------------你说的是不是点一下按钮调用一下binder()?并且只能调用6次?如果是那很简单:
protected int i;
protected void Page_Load(object sender, EventArgs e)
{
}
public void binder()
{
....
}
protected void Button1_Click(object sender, EventArgs e)
{
if(i<6){
i++;
binder();
}
}
------解决方案--------------------其实就是i不能再函数内部 必须在外部定义 如果不是winform要求放到持久化对象里面 比如session cookie或者数据库什么的 这样才可以
------解决方案--------------------支持
------解决方案--------------------Mark!
------解决方案--------------------mark
------解决方案--------------------学习
------解决方案--------------------最好不要用session ,不刷新就用隐藏的一个textbox保存
------解决方案--------------------Good!
------解决方案--------------------顶!
------解决方案--------------------顶