で、TryParse メソッドですよ。
エラー処理ってやっぱり難しい。に絡むか絡まないか。
System 名前空間のいくつかのクラスで公開されている TryParse メソッド、チェッカとParseメソッドがいっしょこたになったメソッドです。
勉強がてらにC#も。
[Visual Basic]Dim s As String = "1"
Dim result As IntegerIf Integer.TryParse(s,result) Then
' ここが変換に成功した場合のコード。
Else
' ここが変換に失敗した場合のコード。
End If
[C#]こんな感じで書くわけですが、どうもしっくりこない。orzstring s = "1";
int result;if( int.TryParse(s, out result) )
{
// ここが変換に成功した場合のコード。
}
else
{
// ここが変換に失敗した場合のコード。
}
何にしっくりこないのか? ByRef・out にしっくりこないんです。(ちなみに Integer.TryParse・int.TryParse の場合、変換に失敗した場合は 0 を格納します。)
なぜしっくりこないのか?以前の With ステートメントってあんまし使ったことないからしっくりこないよ〜ってのと同じです。(しょうもない理由ですみません。)
経験不足を痛感する日々が続くなぁ・・・。
んでもってこんなの見つけたよ。
MSDN:Parse 対 TryParse アプリケーション サンプル