0
foreach (string myKey in mySortedList.Keys)

定義キーと拡張キーが含まれていないと言う理由。理由がわかりますか?私はもうusing System.Collections.Generic;

4

3 に答える 3

2

mySortedList実際に何であれ、プロパティはありませんKeys。コンパイラはあなたにそれを教えてくれました。そう:

  1. のタイプを決定しmySortedListます。
  2. MSDN にアクセスし、ドキュメントを参照してください。
  3. 利益。
于 2012-06-28T03:38:07.923 に答える
0

例が役立つかもしれません。以下のコードでは、最初の foreach はコンパイルされますが、2 番目はコンパイルされません。どちらも SortedList の同じインスタンスに基づいていますが、2 番目のものはそれを別の型としてキャストしており、キーをサポートしていません。

        SortedList<string, string> sorted = new SortedList<string, string>();

        foreach (string s in sorted.Keys)
            Console.WriteLine(s);

        IEnumerable stillSorted = sorted as IEnumerable;

        foreaach (string t in stillSorted.Keys)
            Console.WriteLine(t);

これはあなたの問題ですか?オブジェクトが渡された場合は、以下の例のように自分でキャストしてみてください。

        SortedList<string, string> sorted = mySortedList as SortedList<string, string>;
        if (sorted != null)
            foreach (string s in sorted.Keys)
                Console.WriteLine(s);
于 2012-06-28T05:37:11.113 に答える
0

mySortedListではないかSortedList、より原始的な状態から箱から出されていません。

var list = mySortedList as SortedList;

foreach (string myKey in list.Keys) { ... }

http://msdn.microsoft.com/en-us/library/yz2be5wk.aspx

于 2012-06-28T03:11:33.040 に答える