我有下面的C#代碼,我不知道爲什麼它不工作(我得到一個NullReferenceException錯誤)。如果我將食譜定義爲新的List(),那麼所有東西都開始工作了。ToList裏面的C#XML ToList
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-28 16:33:34
爲什麼你反覆將'VegetablesList'分配給'ItemsSource'? – AnthonyWJones 2010-10-28 16:35:47
順便說一句,使用'名稱=(字符串)recipes.Element(「名稱」)'它會讓你編碼更容易閱讀。 – AnthonyWJones 2010-10-28 16:39:07