我不知道如何转换名称的类型,以便将其中的每个元素添加到我的ListBox中。如果有人可以提供帮助,那将非常感激。
XDocument doc = XDocument.Load(workingDir + @"\Moduleslist.xml");
var names = doc.Root.Descendants("Module").Elements("Name").Select(b => b.Value);
listBox1.Items.AddRange(names);
我在AddRange(名称)上收到错误的说法
答案 0 :(得分:2)
名称为IEnumerable<String>
,listBox.Items.AddRange
期待一个对象数组,并且它们之间没有隐式转换。
快速解决方案是:
listBox1.Items.AddRange(names.ToArray());
或
foreach (var item in names)
{
listBox1.Items.Add(item);
}
答案 1 :(得分:1)
尝试使用此代码而不是最后一行代码:
listBox1.DataSource = names;
this.listBox1.DisplayMember = YOURDISPLAYMEMBER;
this.listBox1.ValueMember = YOURVALUEMEMBER;
答案 2 :(得分:0)
也许:
listBox1.Items.AddRange(doc.Root.Descendants("Module").Elements("Name").Select(b => b.Value).ToArray());