ネストされた「foreach」の数に関するベストプラクティスはありますか?
つまり、複雑な辞書でネストされた「foreach」に渦巻いています。「可能性がある」オーバーヘッドが発生し始めてパフォーマンスが低下するポイントはありますか? これは検討に値するものでしょうか。
具体的で、主観的であることを許容しないようにするために、次のような 3 つの複雑な辞書があります。
Dictionary<int, Dictionary<string, XObject>()
Dictionary<string, List<YObject>()
Dictionary<string, Dictionary<string, List<ZObjects>()
明らかに、これらのディクショナリを (foreach で) フィルタリングして、探しているデータを生成すると、コードの構造は、外側の 1 を除く 5 つのネストされた「foreach」に向かっています。影響を受けるのではないかと心配しています:
- パフォーマンス(コンテキスト スイッチが多すぎる)
- メモリ(特定の瞬間にすべてのデータセットをメモリに保持する)
- 保守性(悪いプログラマー!)
ベストプラクティスか、それとも問題ではないか?