我正在呼叫第三方服务,并且在响应中他们返回了一个名为Items
的对象[]。该对象数组在其数组中有几个不同类型的不同对象。
这里是Items
在CS文件中的样子:
[System.Xml.Serialization.XmlElementAttribute("REPORT", typeof(REPORT))]
[System.Xml.Serialization.XmlElementAttribute("_PRODUCT", typeof(_PRODUCT))]
[System.Xml.Serialization.XmlElementAttribute("_PROPERTY_INFORMATION", typeof(_PROPERTY_INFORMATION))]
public object[] Items
{
get
{
return this.itemsField;
}
set
{
this.itemsField = value;
}
}
我需要访问Items数组中的_PROPERTY_INFORMATION
对象。但是,我不确定采用这种任务的最佳方法是什么。
以下是 目前 的内容:
var items = RESPONSE.RESPONSE_DATA[0].PROPERTY_INFORMATION_RESPONSE.Items;
foreach (_PROPERTY_INFORMATION info in items)
{
parsedStreetAddress = info.PROPERTY._PARSED_STREET_ADDRESS;
}
有更好的方法用更少的代码行来完成同样的事情吗?我只是让每个_PROPERTY_INFORMATION
都在Items数组中。
答案 0 :(得分:1)
如何使用LINQ
_PROPERTY_INFORMATION result = RESPONSE.RESPONSE_DATA[0].PROPERTY_INFORMATION_RESPONSE.Items
.First(x => x is _PROPERTY_INFORMATION);