string partName = "";
string confName = "";
string workName = "";
foreach (string[] e in instance.aWkshpJag)
{
foreach (string[] ex in instance.aPartJag)
{
if (e[0] == ex[0])
{
partName = ex[1] + " " + ex[2];
confName = ex[4];
break;
}
}
foreach (string[] exr in instance.aWorkJag)
{
if (e[1] == exr[0])
{
workName = exr[2];
}
}
treeViewWkshp.BeginUpdate();
treeViewWkshp.Nodes[confName].Nodes[workName].Nodes.Add(partName);
treeViewWkshp.EndUpdate();
}
即使所有变量都有值,也会抛出一个null异常。这可能是什么原因?
-EDIT-增加了更多的代码块。
抛出空例外
treeViewWkshp.Nodes[confName].Nodes[workName].Nodes.Add(partName);
System.NullReferenceException was unhandled
HResult=-2147467261
Message=Object reference not set to an instance of an object.
Source=FBLA_App
答案 0 :(得分:1)
显然并非所有变量都有值。尝试拆分您的代码行,以便一次声明和访问一个节点。
答案 1 :(得分:0)
如果你像这样重写违规行,你仍会得到相同的NullReferenceException
,但它将在一行只包含一个空引用的可能性。
var confNode = treeViewWkshp.Nodes[confName];
var workNode = confNode.Nodes[workName];
var workNodeChildren = workNode.Nodes
workNodeChildren.Add(partName);