我有一个方法:
private int[] ParseBusyPlace(string xml)
{
var busyPlaces = from element in XDocument.Parse(xml).Descendants("Place")
select new []
{
(int) element.Attribute("ID")
};
return busyPlaces; // error
}
此查询返回IEnumerable<int[]>
。如何返回int
的数组?
答案 0 :(得分:10)
使用
private int[] ParseBusyPlace(string xml)
{
var busyPlaces = from element in XDocument.Parse(xml).Descendants("Place")
select (int) element.Attribute("ID");
return busyPlaces.ToArray();
}
答案 1 :(得分:8)
ÖzgürKara的答案绝对正确,但我会将其重写为 not 使用查询表达式,因为它只是来自/ select:
private int[] ParseBusyPlace(string xml)
{
return XDocument.Parse(xml)
.Descendants("Place")
.Select(element => (int) element.Attribute("ID"))
.ToArray();
}
我还考虑返回List<int>
而不是数组,因为它们通常更令人愉快,但这是另一回事。