IEnumerable 使用時の複数の列挙警告のナビゲート
課題:
IEnumerable を使用するには、以下が必要です潜在的な複数の列挙の考慮。特定のシナリオでは、これにより、「IEnumerable が複数列挙される可能性があります」という ReSharper 警告がトリガーされる可能性があります。
考えられる解決策:
パラメータを List 型に変更すると、警告が回避されますただし、特定のオブジェクトへのアクセスが制限される場合があります。メソッドの最初で IEnumerable を List に変換すると問題は解決しますが、ぎこちないという認識が生じます。
推奨されるアプローチ:
IEnumerable をパラメーターとして使用する場合の主な懸念事項これは、意図された列挙の数に関する曖昧さから生じています。 IList または ICollection を指定するようにメソッド シグネチャを変更すると、呼び出し元の期待が明確になり、コストのかかる間違いが防止されます。
あるいは、IEnumerable の使用が重要な場合は、メソッドの開始時に .ToList() 変換を実行することが適切な場合があります。ただし、このアプローチは、より制限的なパラメータ タイプを指定するよりも効率が劣る可能性があります。
追加の考慮事項:
理想的なソリューションには、IEnumerable の機能を組み合わせたインターフェイスが含まれます。 、Count、および Indexer が含まれますが、変更メソッドは除外されます。残念ながら、そのようなインターフェイスは現在 .NET には存在しないため、特定の使用要件に基づいて各アプローチの長所と短所を比較検討する必要があります。
以上がIEnumerable または IList: 複数の列挙の警告を回避するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。