「M」を「Mr.」に切り替えようとしています。「F」から「Ms.」リストボックスで姓が選択されている場合。最初の名前をクリックすると機能しましたが、別の名前をクリックすると、次のエラー メッセージが表示されました。
--追加情報: インデックスが配列の範囲外でした.--
テキスト ファイルの情報は次のようになります。
Ball,Krystal,F,1981
Banks,Robin,F,1988
Burgher,Hamilton,M,1980
Early,Brighton,M,1989
Hedd,MT,M,1960
Hogg,Ima,F,1953
Knapp,Anita,F,1970
Overnout,Roger,M,1968
Psito,Arnie,M,1962
Teak,Anne,F,1939
私のコードは次のとおりです。
Private Sub btnEnter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEnter.Click
Dim names As IO.StreamReader = IO.File.OpenText("Info.txt")
Dim lName As String = lstNames.Text
Dim line As String
Dim gender As String
Dim foundFlag As Boolean = False
Do Until foundFlag Or names.EndOfStream
line = names.ReadLine
If line.Split(","c)(2) = "M" Then
gender = "Mr. "
ElseIf line.Split(","c)(2) = "F" Then
gender = "Ms. "
End If
If line.Split(","c)(0) = lName Then
txtOutput.Text = gender & line.Split(","c)(1) & " " & line.Split(","c)(0) & " is " & 2012 - line.Split(","c)(3)
foundFlag = True
End If
Loop
End Sub
誰かが何が悪いのか教えてください。前もって感謝します。