加载一系列数组(C#)
我需要跟踪C#中这一属性的一个节点中有多少项,我不知道如何加载数组,从1开始到变量结束 这一部分的代码如下加载一系列数组(C#),c#,.net,arrays,C#,.net,Arrays,我需要跟踪C#中这一属性的一个节点中有多少项,我不知道如何加载数组,从1开始到变量结束 这一部分的代码如下 //Loads file containing OSXInstaller File List doc.Load("Distribution.xml"); XmlNodeList ChoiceNode = doc.GetElementsByTagName("choice"); foreach (XmlNode choices in ChoiceNode) { //Code Execu
//Loads file containing OSXInstaller File List
doc.Load("Distribution.xml");
XmlNodeList ChoiceNode = doc.GetElementsByTagName("choice");
foreach (XmlNode choices in ChoiceNode)
{
//Code Executed only for packages, not categories
if (choices.HasChildNodes == true)
{
choicetitle.Add(choices.Attributes["title"].InnerText);
//Counts the number of items with an attribute of "title" in the
//distributions file, so if the user selects #1 in the list box it will
//know what number one is
choicelistcount++;
}
if (choices.HasChildNodes == false)
{
}
else
{
MessageBox.Show("Your Mac OS X Installation disk is damaged or was mounted improperly, please try again and doube-check your information!");
}
}
我试图让它计算title属性的项目数,然后能够打印出列表中的所有项目
choicetitle是字符串列表
我希望它看起来像:
listBox1.Items.Add(choicetitle[1-choicetitlecount]);
编辑:回答下面的一些评论
我在很短的时间内完成了这项工作,像拼写检查这样的事情对我来说并不重要
我之所以还包括else语句,是因为它添加了一个额外的检查,检查OSX安装磁盘是否已安装
该程序是一个向OSX安装程序添加和删除软件包的工具,与live cd类型的程序不同,它可以向新的OSX安装程序添加可以安装的软件包
网站位于您的问题不清楚,但您可能希望使用该类,它可以容纳任意数量的元素
您可以创建一个
列表
,然后向其中添加任意数量的SomeType
对象,而不必担心大小或容量。(除非内存不足)您需要循环浏览列表的一部分,如下所示:
for(int i = 1; i < choicetitlecount; i++)
listBox1.Items.Add(choicetitle[i]);
for(int i=1;i
请注意,.Net数组和集合是基于0的,因此除非您想跳过第一项,否则您可能希望从0开始。(将int i=1
更改为int i=0
)
通常,应该为控件指定有意义的名称(标签除外)。例如,您可能希望将
listBox1
重命名为choicetitle列表
什么类型的对象是choicetitle
?我们可以看看您正在使用的XML的示例吗?您拼错了double。你到底在写什么?choicetitle是一个集合,还是只是你想要做的事情的伪代码?你的代码有点不清楚,并且有一些问题,比如当HasChildNodes为false时显示错误。你能不能看一看,把它弄清楚一点(并且改正一下),这样我们就可以帮忙了?