IEnumerable 内の要素を数える方法反復なしで?
問題の理解
IEnumerable があると想像してください。 「Foo」と「Bar」という 2 つの文字列を生成する名前付きテーブル。これらの要素を反復処理せずに、事前に要素の数を知りたいとします。ただし、IEnumerable インターフェイスは本質的にこの機能を提供しません。
IEnumerable の遅延性質
IEnumerable は遅延評価メカニズムに従います。つまり、要求されたときにのみ要素を取得します。この遅延アプローチは、必要になるまで計算を延期することでパフォーマンスを向上させます。その結果、このインターフェイスには組み込みの count プロパティがありません。
解決策: ICollection を利用します。または IEnumerable
の Count() 反復なしで要素の数が必要な場合は、ICollection の使用を検討してください。代わりにインターフェースを使用します。 ICollection には、必要な情報を即座に提供する Count プロパティがあります。
あるいは、IEnumerable がある場合は、ただし、反復を 1 回だけ行うことができる場合は、Count() 拡張メソッドを使用できます。 Count() は、単一の完全な反復を通じて要素の数を取得します。
以上が明示的な反復を行わずに IEnumerable 内の要素の数を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。