* [2.0]文字列で int 型を有効にする [#y47e7119]
.NET2.0から int.TryParse() が実装されたので、
コストの大きな例外を使わなくても良くなった。
** 従来のコード [#bda07a32]
#code(Csharp,nooutline){{
int num=0;
try{
num=int.Parse(str);
// code for success
}catch(FormatException){
// code for failure
}
}}
** .NET2.0からのコード [#nde6c5ab]
#code(Csharp,nooutline){{
int num=0;
int val;
bool result=int.TryParse(str,out val)
if(result){
num=val;
// code for success
}else{
// code for failure
}
}}
** 補足 [#o3e5892e]
int.TryParse() は、変換に失敗すると渡されたintに 0を格納する。
よって、失敗したら0に初期化する場合は if 文の必要はない。
- クラス・ライブラリのメソッド引数でout指定させるって珍しいよね。out使うと必ずFxCopに怒られるけど、そこんトコどうなんだろう? -- Musi_chan &new{2006-03-06 (月) 17:44:55};
- 確かに珍しいかも。でもまあ、atoiみたく、out使わずにint返す(失敗時0)よりは理にかなってるんでせう。 -- 浮子屋 &new{2006-03-06 (月) 19:22:17};
#comment