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>

それはあなたを助けるでしょう。

あなたが私をtihnkしたいなら、あなたはList<string>また戻って追加することができます

return states.ToList(); 

List os文字列を返すには、returnステートメントに移動します。

于 2012-08-25T05:11:43.407 に答える
0

はい、次のことを「実体化」できますIEnumerable<T>

  1. List<T>: 使用IEnumerable<T>.ToList(): return states.ToList();.
  2. ReadOnlyCollection<T>(インターフェースを実装しIList<T>ます): use IEnumerable<T>.AsReadOnly(): return states.AsReadOnly();. 名前のとおり、返されるリストは読み取り専用です。

bindstateどちらの場合も、メソッドの好ましい戻り値の型はIList<T>またはICollection<T>です。

于 2012-08-25T06:41:55.110 に答える