我有以下C#代码,我不知道为什么它不能工作(我得到一个NullReferenceException错误)。如果我将Recipe定义为new List(),那么一切都会正常开始。
foreach (XElement element in document.Descendants("vegetables"))
{
VegetablesList = (
from vegetables in element.Elements()
select new FoodItem()
{
Name = (vegetables.Element("name") == null) ? null : vegetables.Element("name").Value.ToString(),
Bcg = (vegetables.Element("bcg") == null) ? null : vegetables.Element("bcg").Value.ToString(),
Info = (vegetables.Element("info") == null) ? null : vegetables.Element("info").Value.ToString(),
Recipes = (
from recipes in element.Element("recipes").Elements()
select new Recipe()
{
Name = (recipes.Element("name") == null) ? null : recipes.Element("name").Value.ToString(),
Text = (recipes.Element("text") == null) ? null : recipes.Element("text").Value.ToString()
}
).ToList()
}
).ToList();
VegetablesListBox.ItemsSource = VegetablesList;
}谢谢你的帮忙!
发布于 2010-10-29 00:48:15
我的猜测是element.Element("recipes")返回null,这意味着对于该迭代,recipes元素不存在。
https://stackoverflow.com/questions/4045050
复制相似问题