A繰り返し回数 = 50;
int i = 0;
foreach( var v in a) if v.Valid() a[i++].value = v;
データを受け渡すときに繰り返し項目というのがあって、これの繰り返し回数を別途設定するようなモノがあったりします。
繰り返し回数は実際に繰り返してみないとわかりません。
上記の事を実際にコードにしてみると
int i = 0;
foreach( var v in a) if v.Valid() a[i++].value = v;
A繰り返し回数 = i + 1;
こうなってしまいます。
今回の場合には設定するのが上下入れ替わっているだけですが、実際にはヘッダ情報と、繰り返し情報という感じで分かれていたらどうでしょうか。
int i = 0;
foreach( var v in a) if v.Valid() i++;
A繰り返し回数 = i + 1;
..他の処理がいっぱい
int i = 0;
foreach( var v in a) if v.Valid() a[i++].value = v;
さて、みなさんどうしますか?