当我运行这段代码时,我有一个奇怪的结果——当 onHand 低于 Min 我想要某种警报时,我有一个带有基本股票列表(名称、onHand、Min)的 datagridview。我遇到的问题是我将值提供给消息框,这样我就可以看到发生了什么,如果我将“onHand”值放在顶部的“if”块中,它总是输出为零,但“min”输出正确的价值观。如果我将“Min”值放在顶部的“if”块中,则结果为零,并且“onHand”显示正确的值。我一直在尝试修复它一段时间,但无法弄清楚我做错了什么。目前,我在顶部的“if”块中有“min”,并且消息框始终将 min 显示为零,但为“onHand”提供了正确的值。
编码:
private void btnLows_Click(object sender, EventArgs e)
{
int onHand = 0;
int min = 0;
int counter;
for (counter = 0; counter < (dataGridView1.Rows.Count);
counter++)
{
if (dataGridView1.Rows[counter].Cells["min"].Value
!= null)
{
if (dataGridView1.Rows[counter].Cells["min"].Value.ToString().Length != 0)
{
onHand = int.Parse(dataGridView1.Rows[counter].Cells["min"].Value.ToString());
if (dataGridView1.Rows[counter].Cells["onHand"].Value != null)
{
if (dataGridView1.Rows[counter].Cells["onHand"].Value.ToString().Length != 0)
{
onHand = int.Parse(dataGridView1.Rows[counter].Cells["onHand"].Value.ToString());
if (onHand < min)
{
MessageBox.Show(onHand.ToString(), min.ToString());
}
else
{
MessageBox.Show(onHand.ToString(), min.ToString());
}
}
}
}
}