1. ホーム
  2. c#

[解決済み] System.Collections.Generic.IEnumerable<> 型の式に [] を使ったインデックスを適用できない。

2023-06-19 09:44:19

質問

IEnumerableでインデックス作成ができないのは、何か特別な理由があるのでしょうか。

私は持っていた問題のためのワークアラウンドを見つけましたが、ちょうどそれがインデックスを許可しない理由を知りたいと思います。

ありがとうございます。

どのように解決するのですか?

そうでないからです。

インデックス作成は IList . IEnumerable は "私は IList の力のいくつかを持っていますが、それらのすべてではありません ".を意味します。

いくつかのコレクション(リンクリストのような)は、実用的な方法でインデックスを作成することはできません。 しかし、それらは項目ごとにアクセスすることができます。 IEnumerable はそのようなコレクションを対象としています。 コレクションはIList & IEnumerableの両方を実装できることに注意してください(その他にもたくさんあります)。 一般的には IEnumerable は関数のパラメータとしてしか見られません。つまり、関数はどんな種類のコレクションでも受け入れることができ、必要なのは最も単純なアクセスモードだけだからです。