好吧,我有这段代码。我想将文本框的内容存储到字符串数组中(我更喜欢使用字符串列表),然后将数组的每个元素打印到另一个文本框中。但是,当我尝试编译此代码时,我收到此错误消息: System.InvalidCastException:'从字符串转换"" to int无效' FormatException:输入字符串的格式不正确
有什么建议吗?
Public Class NewUser
Dim textUser As String
Dim strUserName As New List(Of String)
Private Sub btnCreateUser_Click(sender As Object, e As EventArgs) Handles btnCreateUser.Click
textUser = txtNewUser.Text
If textUser <> "" Then
strUserName.Add(textUser)
txtNewUser.Clear()
Else
MsgBox("Username or Password is missing. Try again!")
End If
For Each i As String In strUserName
TextBox1.Text = String.Join(",", strUserName(i))
Next i
End Sub
End Class
答案 0 :(得分:4)
我根本不清楚你在这里要做什么:
For Each i As String In strUserName
TextBox1.Text = String.Join(",", strUserName(i))
Next i
对于初学者来说,i
是一个字符串,你试图像整数一样使用它作为数组的索引。但即使你要纠正它:
String.Join(",", i)
那仍在尝试加入一个字符串。这可能也不会编译,但即使这样做也不会在逻辑上做任何事情。除此之外,每次循环迭代时你都会覆盖TextBox1.Text
,所以最好它只会等于数组中的最后一个值。
如果您只是想将数组加入该文本框,那就是一行:
TextBox1.Text = String.Join(",", strUserName)
不需要循环。