よくある(ファイルなどから)複数行テキストを一行ずつ読み込む場合のソースコードですが
using (StreamReader sr = new StreamReader(filePath)) {
string line = string.Empty;
while((line != sr.ReadLine()) != null) {
// do something...
}
}
とするよりも
using (StreamReader sr = new StreamReader(filePath)) {
for (string line = sr.ReadLine(); line != null; line = sr.ReadLine()) {
// do something...
}
}
の方が好きなんですが仲間はいるかなぁ?
行数の問題ではなく、一時変数 line の有効スコープが必要なループ内だけで収まってるのが好きなんです。
ソースコードとしては↓が一番読みやすいんでしょうけどね。
using (StreamReader sr = new StreamReader(filePath)) {
string line = string.Empty;
while(true) {
line = sr.ReadLine();
if(line != null) {
// do something...
} else {
break;
}
}
}
昔、一つ目の書き方はいいけど二つ目はだめだといわれたことがありました。
はっきりいって読みやすさ、読みづらさは同レベルだと思うんだけど。
一つ目はWebなどで割りと一般的に紹介されているからでしょうね。
ああ、マイノリティ