我将XML值存储在IEnumerable中,就像这样
public static IEnumerable bindstate()
{
var states = from b in getdata().Descendants("state").SelectMany(state => state.Elements("text"))
orderby (string) b
select (string) b;
return states;
}
除了IEnumerable之外,还有其他方法可以存储值吗?
答案 0 :(得分:1)
通过将值存储到其他类型的IEnumerable中,不确定您的意思。 我想如果你改变了
的返回类型IEnumerable
到
IEnumerable<string>
这会帮助你。
如果你想要我,你也可以返回List<string>
并添加
return states.ToList();
到返回语句以返回List os字符串。
答案 1 :(得分:0)
是的,您可以将IEnumerable<T>
“具体化”为:
List<T>
:使用IEnumerable<T>.ToList()
:return states.ToList();
。ReadOnlyCollection<T>
(实现IList<T>
接口):使用IEnumerable<T>.AsReadOnly()
:return states.AsReadOnly();
。因为它来自它的名字,返回的列表是只读的。在这两种情况下,bindstate
方法的首选返回类型为IList<T>
或ICollection<T>
。