0

我像这样在 IEnumerable 中存储 XML 值

   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 之外,还有其他存储值的方法吗?

4

2 回答 2

1

通过将值存储到其他类型的 IEnumerable 中,不确定您的意思。我想如果你改变返回类型

IEnumerable 

IEnumerable<string>

这将帮助你。

如果你想我也可以返回一个List<string>并添加

return states.ToList(); 

到 return 语句以返回 List os 字符串。

于 2012-08-25T05:11:43.407 回答
0

是的,您可以“实现”IEnumerable<T>到:

  1. List<T>:使用IEnumerable<T>.ToList()return states.ToList();
  2. ReadOnlyCollection<T>(实现IList<T>接口):使用IEnumerable<T>.AsReadOnly(): return states.AsReadOnly();。由于它来自其名称,因此返回的列表是只读的。

在这两种情况下,方法的首选返回类型bindstateIList<T>ICollection<T>

于 2012-08-25T06:41:55.110 回答