どちらが正しいアプローチであり、なぜですか?ループが完了した後ループ内の変数を再初期化する正しい場所はどこですか?
string initializeme = string.Empty;
StringBuilder AppendToMe = new StringBuilder();
for(int i=0; i < 10; i++)
{
initializeme = string.Empty; //Is this the right place to initialize?
if(expressionThatEvalsTrue)
initializeme = SomeMethodReturningString();
if(!string.IsNullOrEmpty(initializeme)
AppendToMe.Append(initializeme);
}
または
string initializeme = string.Empty;
StringBuilder AppendToMe = new StringBuilder();
for(int i=0; i < 10; i++)
{
if(expressionThatEvalsTrue)
initializeme = SomeMethodReturningString();
if(!string.IsNullOrEmpty(initializeme)
AppendToMe.Append(initializeme);
initializeme = string.Empty; //Is this the right place to initialize?
}
2番目のケースでは、 "for(int i = 0; i <10; i ++、initializeme = string.Empty)"(これもC#でも可能な場合) 。 – schnaader
@Nick - 'expressionThatEvalsFalse'の全体は、式が真と評価された場合にパスが実際に選択されるので混乱します。私はこの例が考案されていることに気がついていますが、変数の名前をどのように指定するか慎重にしたいと考えています。私は最初、私を怒らせました - 私は評価の感覚ではなく変数の名前を持って行きました。 – tvanfosson
@tvanfosson - 変更しました。ありがとうございます。 – Developer