-2
    Customer cus=new customer();

from c in doc.Descendants(XName.Get("details", name))
                     select 
{
    cus.firstname =c.Element(XName.Get("to", name)).value;
}

如何在 linq 的选择主体中使用实例变量

你好,

我需要在 select 语句中访问 c​​ust 实例变量名称。

我不想创建新实例

select new customer
    {
        cus.firstname.
    }

对此有任何帮助。

4

1 回答 1

0

使用基于方法的方法应该更容易:

cus.firstname = doc.Descendants(XName.Get("details", name))
                   .Element(XName.Get("to", name))
                   .Value;

要填充更多属性,您可以将<details>元素保存到变量中并稍后使用:

var details = doc.Descendants(XName.Get("details", name)).FirstOrDefault();

if(details != null)
{
    cus.firstname = details.Element(XName.Get("to", name)).Value;
    cus.lastname= details.Element(XName.Get("from", name)).Value;
}

这将防止一遍又一遍地遍历 XML。

于 2013-02-25T17:41:35.337 回答