Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.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# 为什么会引发空引用异常?_C# - Fatal编程技术网

C# 为什么会引发空引用异常?

C# 为什么会引发空引用异常?,c#,C#,有人能告诉我为什么会抛出null引用异常(object ref未设置为对象的实例)。我的代码读取一个简单的xml文件,然后将2个元素中的文本传递给另一个方法。但是,在foreach循环的第一行引发异常: 请原谅我的无知,我是新来的。:) 这意味着xprojects为空。 请发布projects.xml文件内容 问候, Omar将选择节点(“/ProjectName”)更改为选择节点(“/ProjectName”)。(当然,/ProjectType也一样) /ProjectName将始终从根目录中

有人能告诉我为什么会抛出null引用异常(object ref未设置为对象的实例)。我的代码读取一个简单的xml文件,然后将2个元素中的文本传递给另一个方法。但是,在foreach循环的第一行引发异常:

请原谅我的无知,我是新来的。:)


这意味着
xprojects
为空。
请发布projects.xml文件内容

问候,

Omar将
选择节点(“/ProjectName”)
更改为
选择节点(“/ProjectName”)
。(当然,
/ProjectType
也一样)


/ProjectName
将始终从根目录中选择,而不是从正在调用它的节点中选择。
/
从当前节点开始。

在进入
foreach
循环之前,您是否设置了断点并检查了
xprojects
是否不为空?从OP:
中获取空值的位置?@DarthVader但是在foreach循环的第一行引发了异常
我猜没有带有
ProjectName
,这是一个列表,为null/@user2008060-有关说明,请参阅我的回答的第二行是,它将抛出NullPointerException
private void openProjectToolStripMenuItem_Click(object sender, EventArgs e)
{
    //I have to pass 'this' (which is Form1) when creating the Projects (Form2) in order for them to understand / see each other      
    Projects myProjects = new Projects(this); 

    //displays the Form 2 (called Projects)
    myProjects.Show(); 

    XmlDocument xdoc = new XmlDocument();
    xdoc.Load("O:\\TestDaws\\projects.xml");

    string projList = "/Projects/Project";
    XmlNodeList xprojects = xdoc.SelectNodes(projList);

    foreach (XmlNode xNodeName in xprojects)
    {
        string projectname = xNodeName.SelectNodes("/ProjectName")[0].InnerText.ToString();
        string projecttype = xNodeName.SelectNodes("/ProjectType")[0].InnerText.ToString();
        myProjects.buildProjectList(projectname, projecttype);
    }

}