除了第一个foreach之外,一切都很完美。 当我检查name1的值的值时 - 很明显它有一个值,虽然visual studio抛出“对象引用未设置为对象”(NULL) 当我检查xml文件时,有一个该名称的属性,并且该值被复制到“name1”,但是visual studio会一直告诉它为null。
XML文件:
<?xml version="1.0" encoding="utf-8"?>
<Configuration>
<ExeFileName>answer6</ExeFileName>
<CFileName>answer6</CFileName>
<DirectoryC>C:\Users\magshimim\Documents\Magshimim\Programming\Assignment7\</DirectoryC>
<DirectoryEXE>C:\Users\magshimim\Documents\Magshimim\Programming\Assignment7\</DirectoryEXE>
<SameStatsMode>true</SameStatsMode>
</Configuration>
using System;
using System.Xml.Linq;
using System.IO;
XDocument doc = XDocument.Load(Form1.programdir + Form1.ConfigFiles[1]);
var exename = doc.Descendants("ExeFileName");
var cfile = doc.Descendants("CFileName");
var samestats = doc.Descendants("SameStatsMode");
var directoryc = doc.Descendants("DirectoryC");
var directoryexe = doc.Descendants("DirectoryEXE");
foreach (var name1 in cfile)
{
Form1.cname[0] = name1.Value;
}
foreach (var name2 in exename)
{
Form1.exename = name2.Value;
}
foreach (var sm in samestats)
{
if (sm.Value == "true")
{
Form1.samestats = true;
}
else
{
Form1.samestats = false;
}
}