我還是LINQ的新手。是否有可能做到以下幾點:直接從linq查詢返回一個類
例如,我有一個類:
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
現在我想通過閱讀,比方說,一個XML文件的內容並將其返回到它返回一個類對象。
所以,如果我讀這 xml文件:
<person>
<firstname></firstname>
<lastname></lastname>
</person>
書的人(說這屬於人民類):
public static Person ReadPerson(xmlpath)
{
XDocument xd = XDocument.Load(xmlpath);
var person = (from p in xd.Descendants("person")
select new Person
{
FirstName = p.Element("firstname").value,
LastName = p.Element("lastname").value
});
return person as Person;
}
現在,如果我這樣做了別處以下:
Person p = new Person();
p = People.Person(xmlpath);
Response.Write(p.FirstName);
在這裏,p.FirstName返回空異常。我理解的是因爲linq查詢返回了一個空的類。
所以我的問題是,反正是有直接添加的東西到一個類在查詢中,並返回其不運行foreach循環,增加手動一切嗎? (如下:)
Person p = new Person();
foreach (var x in person)
{
p.FirstName = x.FirstName;
p.LastName = x.LastName;
}
對不起,如果這是一個愚蠢的問題。
感謝
如果p.FirstName拋出的NullReferenceException並不意味着LINQ返回一個空的類,它也可以返回null。嘗試檢查p爲空,並請發送堆棧跟蹤。 – 2011-05-25 07:29:28