目前我得到了这个:
class robot
{
Configuratie config = new Configuratie();
short[,] AlleCoordinaten = new short[3, 6]
{
{1,2,3,4,5,6},
{6,5,4,3,2,1},
{2,3,4,5,6,7}
};
}
但是我想把那个数组放在一个XML文件中,所以这就是我试过的:
class robot
{
Configuratie config = new Configuratie();
short[,] AlleCoordinaten = new short[3, 6]
{
{(config.GetIntConfig("robot","position1"))},
{(config.GetIntConfig("robot","position2"))},
{(config.GetIntConfig("robot","position3"))}
};
}
配置文件:
class Configuratie
{
private XDocument xdoc;
public Configuratie()
{
xdoc = XDocument.Load("configuratie.xml");
}
public int GetIntConfig(string desc1, string desc2)
{
int value = 0;
if (string.IsNullOrEmpty(desc1))
{
value = 0;
}
if (!string.IsNullOrEmpty(desc1) && !string.IsNullOrEmpty(desc2))
{
foreach (XElement node in xdoc.Descendants(desc1).Descendants(desc2))
{
value = Convert.ToInt16(node.Value);
}
}
if (!string.IsNullOrEmpty(desc1) && string.IsNullOrEmpty(desc2))
{
foreach (XElement node in xdoc.Descendants(desc1))
{
value = Convert.ToInt16(node.Value);
}
}
return value;
}
}
XML文件:
<robot>
<position1>1</position1>
<position1>2</position1>
<position1>3</position1>
<position1>4</position1>
<position1>5</position1>
<position1>6</position1>
etc...
<position3>7</position3>
</robot>
它仍然无法正常工作,你们可以帮助我解决我做错的事情并举一个例子。我得到的错误是:我得到的错误是:预期长度为6的数组初始值设定项。并且:字段初始值设定项不能引用非静态字段方法或属性。我知道有一种更简单的方法,但我想用配置文件来做。 我怎么能这样做?
答案 0 :(得分:0)
我认为你的意思是(从这些数据构建XML)。 这是怎么做的:
short[,] AlleCoordinaten = new short[3, 6]
{
{1,2,3,4,5,6},
{6,5,4,3,2,1},
{2,3,4,5,6,7}
};
XElement elem = new XElement("robot");
for (int i = 0; i < AlleCoordinaten.GetUpperBound(0); i++)
{
for (int j = 0; j < AlleCoordinaten.GetUpperBound(1); j++)
{
elem.Add(new XElement(string.Format("position{0}",i +1),AlleCoordinaten.GetValue(i,j)));
}
}
short[,] AlleCoordinaten = new short[3, 6]
{
{1,2,3,4,5,6},
{6,5,4,3,2,1},
{2,3,4,5,6,7}
};
XElement elem = new XElement("robot");
for (int i = 0; i < AlleCoordinaten.GetUpperBound(0); i++)
{
for (int j = 0; j < AlleCoordinaten.GetUpperBound(1); j++)
{
elem.Add(new XElement(string.Format("position{0}",i +1),AlleCoordinaten.GetValue(i,j)));
}
}
答案 1 :(得分:-2)
我在这里看到一个简单的拼写错误:
config.GetIntConfig("robot","positoin1")
所以你正在寻找“positoin”并在文件中你有“位置”。