Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#绕过if(condition)语句而不填充条件?!神奇的事情发生了?_C#_If Statement_Datagridview_Boolean Logic_Datagridviewcheckboxcell - Fatal编程技术网

C#绕过if(condition)语句而不填充条件?!神奇的事情发生了?

C#绕过if(condition)语句而不填充条件?!神奇的事情发生了?,c#,if-statement,datagridview,boolean-logic,datagridviewcheckboxcell,C#,If Statement,Datagridview,Boolean Logic,Datagridviewcheckboxcell,(dgv_configCH是一个winform DataGridView)。如下图所示,VS executor位于if的括号内,条件为false。实际上,VS执行器在检查条件之后,而在离开函数之前,不会进入。在这个程序中,我的目的只是能够使用DataGridViewCheckBoxCell,因为dgv_configCH[e.ColumnIndex,e.RowIndex].Value.ToString()总是在dgv_configCH_CellValueChanged事件中返回true 好吧,这是

dgv_configCH
是一个winform DataGridView)。如下图所示,VS executor位于if的括号内,条件为false。实际上,VS执行器在检查条件之后,而在离开函数之前,不会进入。在这个程序中,我的目的只是能够使用
DataGridViewCheckBoxCell
,因为
dgv_configCH[e.ColumnIndex,e.RowIndex].Value.ToString()
总是在
dgv_configCH_CellValueChanged
事件中返回
true


好吧,这是真的,当编译器开始运行时——这是肯定的;) 请换成

var isDirty=this.dgv_configCH.IsCurrentCellDirty; 如果(isDirty)


您将看到,您使用CommittedIt()更改了状态,因此在停止的行中再也看不到正确的if条件。

CommittedIt()之后是否可能变为false?@IndritKello提交正是使单元格再次“干净”的原因。。。所以我要说的是完美的预期图像。我在屏幕上记录了正在发生的事情:为了进一步澄清,我按F11的速度太快了,但它的作用是:在离开函数之前,在结束括号之后,它返回到行dgv_configCH.committedtit…在我看来,它好像击中了该方法两次-第一次它以isDirty false退出,第二次它进入条件-对吗?如果是,是同一条线吗?如果没有,您可以尝试同步方法中的调用。