• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C#のStreamReaderでのforeach)

C#のStreamReaderでのforeachで型'char'を'string'に変換できません。

このQ&Aのポイント
  • C#のStreamReaderでのforeachで型'char'を'string'に変換できません。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

1. 逆に,なぜダメではないと思ったのでしょうか。 StreamReader.ReadLineの戻り値,foreachの機能から,エラーであることは容易に想像がつきますが。 2. using + whileループが通常一番の書き方です。 TextReaderをIEnumerable<string>によく変換するのであれば,拡張メソッド作るのもよいでしょうが。 3. 宣言は式ではないからです。

devman
質問者

お礼

ありがとうございました。 最近foreachに興味をもち、 forやwhileをみるとforeachに書き換えたい気持ちをおさえられなくて>< 実用では無理にforeachを利用せずにusing+whileで書いた方がよさそうですね。

その他の回答 (1)

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.2

1. StreamReader.ReadLineは配列型を返さないから。 2. 普通はEndOfStreamで判断してReadLineするwhileループで、わざわざ反復子を定義してまでforeach使う理由はないんじゃないかなぁ。 3. #1でも言われてますが宣言文は式じゃないので、式のように代入結果を参照することはできません。

関連するQ&A