もっと見る

そういや int.Parse() と int.TryParse() を教えたあとで「TryParseのほうは解釈に成功したかどうかを返すよ」という説明をしたら,多くの学生が以下みたいなコードを書いてきてさ,教え方の悪さを実感したよね.

string str = ...;
int hoge;

if ( int.TryParse(str, out hoge) ) // 一度整数に解釈したのに
{
hoge = int.Parse(str); // int.Parseで解釈し直している

// ...
}

そもそも「真偽値が返ってくる」とか「それを if 文の条件に使う」というあたりで蹴躓く学生が結構多い

これも多い.とくに bool 型を返すメソッドやプロパティをテストする場面でよく目にする.

if ( 条件 == true )
{
// ...
}

bool 型を返すメソッドを作らせると,学生はしばしばこういうコードを書いてくる.

if ( 条件 )
return true;
else
return false;

if (foo == true) は foo == true が真であるかを確認しているので (foo == true) == true を確認しなければならない、すなわち
if ((foo == true) == true)
と書くべきだ、みたいな話がある (以下無限ループ)

あとさっきも書いたけど数値比較は右に大きい値を書きたい(同値チェックなら変数左固定だけど)

①if (x >= 0 && x <=100) {…}
②if (0 <= x && x <=100) {…}

なら②のが見やすいかなぁって

もっと見る

いそがしのげんちゃん。​:verified: によるおすすめ:

板橋丼(Itabashi-don)

東京都板橋区、及びその周辺地域に関する地域インスタンスです。