C# 向ListBox添加XML元素

C# 向ListBox添加XML元素,c#,xml,winforms,listbox,C#,Xml,Winforms,Listbox,我不知道如何将类型转换为name,以便将其中的每个元素添加到我的列表框中。如果有人能帮忙,我将不胜感激 XDocument doc = XDocument.Load(workingDir + @"\Moduleslist.xml"); var names = doc.Root.Descendants("Module").Elements("Name").Select(b => b.Value); listBox1.Items.AddRange(names); 我在AddRange(n

我不知道如何将类型转换为name,以便将其中的每个元素添加到我的列表框中。如果有人能帮忙,我将不胜感激

XDocument doc = XDocument.Load(workingDir + @"\Moduleslist.xml");

var names = doc.Root.Descendants("Module").Elements("Name").Select(b => b.Value);

listBox1.Items.AddRange(names);

我在AddRange(names)上收到一个错误,指出无效的参数

名称是
IEnumerable
listBox.Items。AddRange
需要一个对象数组,它们之间没有隐式强制转换

一个快速的解决办法是:

listBox1.Items.AddRange(names.ToArray());


名称是
IEnumerable
listBox.Items.AddRange
需要一个对象数组,它们之间没有隐式强制转换

一个快速的解决办法是:

listBox1.Items.AddRange(names.ToArray());


请尝试以下代码,而不是最后一行代码:

listBox1.DataSource = names;
this.listBox1.DisplayMember = YOURDISPLAYMEMBER;
this.listBox1.ValueMember = YOURVALUEMEMBER;

请尝试以下代码,而不是最后一行代码:

listBox1.DataSource = names;
this.listBox1.DisplayMember = YOURDISPLAYMEMBER;
this.listBox1.ValueMember = YOURVALUEMEMBER;
也许:

也许:


变量名是否为数组。。。!它是表单应用程序、web表单还是什么?您只能对arrayvariable Name Is array或not使用addrange函数。。。!它是一个表单应用程序、web表单还是什么?你只能在ArrayTanks dude上使用addrange函数,这很好,我用它代替了填充列表框的XmlTextReader代码。谢谢你,汉克斯,工作得很好,我用它代替了填充列表框的XmlTextReader代码。非常感谢。