foreach
非常に長いループをリファクタリングしようとしていました。私はcontinue
それにあるいくつかの場所で立ち往生しました。これが私の元のコードを模倣するためのダミーコードです
IEnumerable<dynamic> allData = FetchAllData();
IEnumerable<dynamic> relativeData = FetchAllRelativData();
foreach (var rdata in relativeData)
{
IEnumerable<dynamic> dataTobeProcessed = allData.Where(c => c.Name = rdata.Name);
//Do something
//if then Continue
// do something
//if then continue
// do something
// do something
// add data to db
}
ここでは、関数を分離するために何かを行う部分をすべて削除しました。しかし、ここでもコード部分がほとんどありませんcontinue
。つまり、ループを壊して次の要素に進んでいます。それで、その部分を分離することができませんでした。
繰り返しになりますが、ここでは、ステップが継続しているような制約があります。つまり、最初に発生し、次に2番目に発生し、次に3番目に発生します...したがって、現時点ではコードの位置を移動できません。そのため、私の関数は大きくなり、約300行になり、変更や保守が難しくなっています。
コーディング方法を変更して、削除continue
または別の方法でメソッドを作成するための適切なソリューションを提供してください。break
その他の詳細が必要な場合はお知らせください。