int a,b=5;
public bool flag = true;
private void button1_Click(object sender, EventArgs e)
{
if (flag)
{
a=b;
flag = false;
}
}
这个虽然是个很简单的语句,但是它没有else,没有else if,没有return,这种if语句是该是怎样执行流程的呢?
19 个解决方案
#1
没明白题意。。。
如果flag是true 就把 b赋值给a呗 否则就退出点击事件了
如果flag是true 就把 b赋值给a呗 否则就退出点击事件了
#2
那执行完之后flag就变成false了,是不是要让这点击事件再次被执行的话,必须得让这flag再次变为true才行?
#3
这个.....还真的很“难”解释。
#4
你这不是挺有理解能力的嘛。就是这样的。
#5
如果要执行多次,那你何必要判断flag还把他弄成false呢
#6
这样就是只能执行一次。第二次为假了,那IF里边就不执行了,你理解正确啊。如果要点一下,然后再点一下执行另外的,加个ELSE或者再弄一个IF判断假也可以咯。。哈哈
#7
赋值并修改值啊flag=true,执行if然后在改变flag的值
#8
期待语出惊人的一幕
#9
因为我想在点这个button1的时候只执行一次 a=b;
然后这个button1在松开的时候是不是会自动触发Keyup事件,在Keyup事件里,再对这个flag赋为true,下次又可以执行button1的click事件了,这个逻辑有问题么?
#10
那你何必要改flag的值呢?不是多此一举么???
#11
楼主是想表达什么呢……………………
#12
设个断点跑一下、跑的过程中看看各个变量的值、就知道它是怎么跑的了
#13
这个数据主要是发给单片机的,如果按住按钮不放,担心它会一直发数据过去,让单片机处理不过来
#14
其实里面的a=b;只是个例子
主要是想看看if语句在没有else,else if,和return的时候是怎样执行的,肯定有懂的,帮解释下
主要是想看看if语句在没有else,else if,和return的时候是怎样执行的,肯定有懂的,帮解释下
#15
主要表达一下意思:
其实里面的a=b;只是个例子
主要是想看看if语句在没有else,else if,和return的时候是怎样执行的,肯定有懂的,帮解释下
#16
你是想一直发数据过去?然后当心处理不过来?
那就用循环发送过去、循环体里面发一次就休眠一段时间
#17
if(条件1)
{
//满足条件1 执行下面代码1
代码1
}
else if(条件2)
{
//不满足条件1 满足条件2 执行代码2
代码2
}
else
{
//不满足条件1 也不满足条件2 执行代码3
代码3
}
return //放在代码1里 条件2不会被判断 也就是后面的代码都不会被执行 直接跳出方法
放在代码2里面 会判断条件1 条件1满足照样会执行代码1 然后就判断条件2 然后执行代码2 后面的代码就不会执行 直接跳出方法
#18
你这是何必呢 当心down一直发 你就在up里处理 你又何必要down呢 click也才1次 up后才触发
#19
感谢,可以结贴了
#20
#1
没明白题意。。。
如果flag是true 就把 b赋值给a呗 否则就退出点击事件了
如果flag是true 就把 b赋值给a呗 否则就退出点击事件了
#2
那执行完之后flag就变成false了,是不是要让这点击事件再次被执行的话,必须得让这flag再次变为true才行?
#3
这个.....还真的很“难”解释。
#4
你这不是挺有理解能力的嘛。就是这样的。
#5
如果要执行多次,那你何必要判断flag还把他弄成false呢
#6
这样就是只能执行一次。第二次为假了,那IF里边就不执行了,你理解正确啊。如果要点一下,然后再点一下执行另外的,加个ELSE或者再弄一个IF判断假也可以咯。。哈哈
#7
赋值并修改值啊flag=true,执行if然后在改变flag的值
#8
期待语出惊人的一幕
#9
因为我想在点这个button1的时候只执行一次 a=b;
然后这个button1在松开的时候是不是会自动触发Keyup事件,在Keyup事件里,再对这个flag赋为true,下次又可以执行button1的click事件了,这个逻辑有问题么?
#10
那你何必要改flag的值呢?不是多此一举么???
#11
楼主是想表达什么呢……………………
#12
设个断点跑一下、跑的过程中看看各个变量的值、就知道它是怎么跑的了
#13
这个数据主要是发给单片机的,如果按住按钮不放,担心它会一直发数据过去,让单片机处理不过来
#14
其实里面的a=b;只是个例子
主要是想看看if语句在没有else,else if,和return的时候是怎样执行的,肯定有懂的,帮解释下
主要是想看看if语句在没有else,else if,和return的时候是怎样执行的,肯定有懂的,帮解释下
#15
主要表达一下意思:
其实里面的a=b;只是个例子
主要是想看看if语句在没有else,else if,和return的时候是怎样执行的,肯定有懂的,帮解释下
#16
你是想一直发数据过去?然后当心处理不过来?
那就用循环发送过去、循环体里面发一次就休眠一段时间
#17
if(条件1)
{
//满足条件1 执行下面代码1
代码1
}
else if(条件2)
{
//不满足条件1 满足条件2 执行代码2
代码2
}
else
{
//不满足条件1 也不满足条件2 执行代码3
代码3
}
return //放在代码1里 条件2不会被判断 也就是后面的代码都不会被执行 直接跳出方法
放在代码2里面 会判断条件1 条件1满足照样会执行代码1 然后就判断条件2 然后执行代码2 后面的代码就不会执行 直接跳出方法
#18
你这是何必呢 当心down一直发 你就在up里处理 你又何必要down呢 click也才1次 up后才触发
#19
感谢,可以结贴了