異なるタイプの2つのIEnumberableを考えると、両方のリストを反復処理してすべての可能な組み合わせに対してアクションを実行するためのベストプラクティス(読みやすさと保守性を考慮)は何ですか?
私の最初の解決策は、ネストされたforeachループを使用して、最初のIEnumerableを反復処理し、次にそのループ内で2番目のIEnumerableを反復処理し、外部ループと現在のループからターゲットメソッドに値を渡すことでした。例えば。:
enum ParamOne
{
First,
Second,
Etc
}
List<int> paramTwo = new List<int>() { 1, 2, 3 };
void LoopExample()
{
foreach (ParamOne alpha in Enum.GetValues(typeof(ParamOne)))
{
foreach (int beta in paramTwo)
{
DoSomething(alpha, beta);
}
}
}
LINQを使用して再構築しようとしましたが、明らかな利点がなく、直感的ではないように思われるものになりました。ここで検索すると、子プロパティを反復処理するためのforeachのネストに関する多くの質問が表示されますが、2つの異なるリストを反復処理することについては何も見つかりませんでした。