gpt4 book ai didi

c# - 在循环中获取 Null 异常错误。尝试调试

转载 作者:太空狗 更新时间:2023-10-30 00:58:42 24 4
gpt4 key购买 nike

我在将字符串解析为文本框类型时遇到一些问题,我在程序中使用不同形式的代码并且它工作正常,但是当我在这里绑定(bind)相同的两行时我得到一个空异常

感兴趣的两条线是

string txbName = "br" + bruker + "txt" + 'B' + o;
txtBCont = (TextBox)Controls[txbName];

新信息

Greg 指导我检查 Controls[] 数组中的内容,这揭示了我的问题所在。它只包含 90 行 TabControl 信息。

这是一条线

System.Windows.Forms.TabControl, TabPages.Count: 2, TabPages[0]: TabPage: {ShowWeek}

当我在我的 catch block 中运行这段代码时,这一行被复制了 90 次

                catch( System.Exception excep)
{
System.IO.StreamWriter SW;
SW = File.AppendText("C:\\MyDumpFile.txt");

foreach (Control ctrl in Controls)
{
SW.WriteLine(ctrl);
}
SW.Close();
}

这怎么可能不是初始化时填充的控件数组?


原帖

这是完整的循环

        int dayOfset;
int bruker;

TextBox txtBCont;

for (int i = 0; i < 18; i++)
{
mysqlCon.Open();
dayOfset = -4;
bruker = i + 1;

for (int o = 1; o < 6; o++)
{
MySqlCommand cmd = new MySqlCommand("SELECT (NyeSaker + GamleSaker - (select GamleSaker FROM saker Where Dato = '" + dateTimePicker1.Value.AddDays(dayOfset + 1).ToString("yyyy-MM-dd") + "' AND Bruker_ID = '" + bruker + "' ) ) FROM saker Where Bruker_ID = '" + bruker + "' AND Dato = '" + dateTimePicker1.Value.AddDays(dayOfset).ToString("yyyy-MM-dd") + "'", mysqlCon);

string txbName = "br" + bruker + "txt" + 'B' + o;

txtBCont = (TextBox)Controls[txbName];

//1 past og dp kontrol//
try
{
txtBCont.Text = cmd.ExecuteScalar().ToString();
}
catch( System.Exception excep)
{
//txtBCont1.Text = "0";
MessageBox.Show(excep.Message);
}
dayOfset++;
}
mysqlCon.Close();
}

在尝试调试它时我这样做了

string txbName = "br" + bruker + "txt" + 'B' + o;
txtBCont = br1txtB1;
txtBCont = (TextBox)Controls[txbName];

发生的事情是在这一行 txtBCont = br1txtB1; 上将 txtBCont 设置为文本框但在 txtBCont = (TextBox)Controls[txbName];它再次将其设置回 null。

有人知道这里的错误是什么吗?

最佳答案

当尝试从散列或字典中提取某些内容时,如果它不存在,您将返回 null。在这种情况下,您要查找的名称的控件不存在。我注意到您的第二个循环索引从 1 开始:

for (int o = 1; o < 6; o++) 

有没有可能你偏离了 1 而控件不存在?

关于c# - 在循环中获取 Null 异常错误。尝试调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2327852/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com