C#, C♯, C#相談室 Part42at TECHC#, C♯, C#相談室 Part42 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト276:デフォルトの名無しさん 07/09/03 16:36:34 foreachって実際は while(strEnumerator.MoveNext()) { string str = strEnumerator.Current; ... } こんな感じでしょ 代入しても無意味というか、元が配列だったりすると 書き換えられるという錯覚を与えかねない というか配列のforeachは for(int i = 0; i < strArray.Length; ++i)... に置き換える最適化がされるらしいから 実際に書き換えられちゃうんでそうするとforeachの意味が変わっちゃう 277:271 07/09/03 16:55:47 >>274 >>276 foreach変数ってIEnumeratorの実装に関わらずスタック上に置かれるものでは。 構文上もそこで宣言してるわけだし、直接書き換えられると誤解される余地もないと思うけど。 >>275 それで余分な変数を導入する方が場合によっては可読性が落ちると思うんだけどなあ。 というかforeach変数だけ禁止しても意味がないような・・・ 278:デフォルトの名無しさん 07/09/03 17:01:33 >>277 たしか、usingとかfixedとかで宣言した変数も使いまわしできないな。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch