一直报错, 求大神帮忙看看什么情况
public static void DepartmentMz(List<Time_Model> lmz, List<Button> LB, int Xb)
{ for (int i = 0; i < lmz.Count; i++)
{
if (i == 0 + (2 * Xb) && (2 * Xb + 0) < lmz.Count)
{ LB[0].Text = lmz[i].type.ToString();
//LB[0].Tag = Ltd[i].id;
LB[0].Show();
}
else if (lmz.Count <= (2 * Xb + 0))
{
LB[0].Hide();
}
if (i == 1 + (2 * Xb) && (2 * Xb + 1) < lmz.Count)
{
LB[1].Text = lmz[i].type.ToString();
// LB[1].Tag = Ltd[i].id;
LB[1].Show();
}
else if (lmz.Count <= (2 * Xb + 1))
{
LB[1].Hide();
}
}
}在 BLL.dll 中发生,但未在用户代码中进行处理其他信息: 未将对象引用设置到对象的实例。
public static void DepartmentMz(List<Time_Model> lmz, List<Button> LB, int Xb)
{ for (int i = 0; i < lmz.Count; i++)
{
if (i == 0 + (2 * Xb) && (2 * Xb + 0) < lmz.Count)
{ LB[0].Text = lmz[i].type.ToString();
//LB[0].Tag = Ltd[i].id;
LB[0].Show();
}
else if (lmz.Count <= (2 * Xb + 0))
{
LB[0].Hide();
}
if (i == 1 + (2 * Xb) && (2 * Xb + 1) < lmz.Count)
{
LB[1].Text = lmz[i].type.ToString();
// LB[1].Tag = Ltd[i].id;
LB[1].Show();
}
else if (lmz.Count <= (2 * Xb + 1))
{
LB[1].Hide();
}
}
}在 BLL.dll 中发生,但未在用户代码中进行处理其他信息: 未将对象引用设置到对象的实例。
List<Time_Model> lmz,
List<Button> LB,
int Xb
这三个参数,一般打印 lmz 这个。因为如果是LB 。XB为空,那么应该是报 函数引用参数的错误。反正参数也不多哈哈,你一个一个输出一下,不就很明白了吗。
很皮
所有“.”之前的对象都有可能为null了。
什么是未将对象引用设置到对象的示例,就是这个对象不存在,也就是null,也就是没有new
Button btn = new Button(); btn不为空
Button btn ; btn为空 此时 如果btn.Text="提交"; 那就是未将对象引用到实例
在你的示例当中,如果lmz和LB不是null,那就是lmz[i]或者LB[i]有null
断点一下,查看便知
null分两种情况,一个是count = 0 一个是对象为空,这些都要做逻辑判断的,甚至可以封装起来嘛