- - PR -
Parse実行時に例外がスローされてしまう
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-01-22 18:06
原因が不明の為お教えいただけますと幸いです。
環境:Win2000Pro+VS.NET2005です。 VB.NETにて文字列をDate型に変換し、DateTimePickerに セットしようとしているのですが、文字列からの変換の部分で 例外がスローされてしまいます。 表示される例外は以下の通りです。 System.IndexOutOfRangeException - インデックスが配列の境界外です。 イミディエイトウィンドゥの一番上に下のようなメッセージが表示されています。 'System.IndexOutOfRangeException' の初回例外が mscorlib.dll で発生しました。' 実際に打ち込んでいるコードは、 DateTimePicker.Value = Date.Parse(Format(CInt(『文字列(yyyyMMddの形)』), "0000/00/00")) です。これでは無理なのでしょうか? 参考にさせて頂いたページをリンクに記します。 お教えいただけますと幸いです。宜しくお願いします。 | ||||||||
|
投稿日時: 2007-01-22 18:24
右辺のどこがまずいのか、3 行にバラしてデバッグしましょう。 キャスト ミスなのか、Format 関数の戻り値がまずいのか、切り分けできるでしょう。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2007-01-22 18:42
じゃんぬねっと様
レス有難う御座います。 前述の処理を3行に分けて簡単なサンプルを作成し試してみました。 =============== Dim intdat As Integer intdat = CInt("20050101") MsgBox(intdat) Dim strdate As String strdate = Format(intdat, "0000/00/00") MsgBox(strdate) Dim dat As Date dat = Date.Parse(strdate) =============== 上記ソースでデバッグしてみたところ、一番下の 『Date.Parse』の行で例外が発生しました。 参考のページと同じ書き方をしているのですが、 何かおかしいところがあるのでしょうか・・ | ||||||||
|
投稿日時: 2007-01-22 19:24
この時点で、strdate には何が格納されていますか? _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2007-01-22 19:46
じゃんぬねっと様
intdatには20050101、 strdateには"2005/01/01"が格納されていました。 |
1