2017-08-17 157 views
1

我不断收到此错误,我尽我所能,但它仍然说“值类型的字符串()不能转换为字符串。”类型字符串()的值不能转换为字符串

下面是代码:

Private Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click 

End Sub 
Sub New() 
    InitializeComponent() 

    RAN = New Random 
    WB = New WebClient 


End Sub 

Private Const IDNum As String = "https://example.com/Data.php" 

Private WB As WebClient 
Private RAN As Random 

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 

    Dim Account As String() = WB.DownloadString(IDNum).Split(Environment.NewLine) 
    AccSplit(Account(RAN.Next(1, Account.Length))) 

End Sub 


Private Sub AccSplit(ByVal Account As String) 

    TextBox2.Text = Account.Split() 
End Sub 

回答

3

当你在这里呼吁Split

TextBox2.Text = Account.Split() 

你得到一个String阵列回来。调用Split不带参数会将String分割为空白字符。举例来说,这样的:

Dim arr = "Hello World".Split() 

是相同的:

Dim arr = {"Hello", "World"} 

一个TextBoxText属性的类型为String,所以你不能一个String数组分配给它。这没有意义。如果你想炒鸡蛋,你把鸡蛋盒放在锅里吗?正确的行动方式取决于你实际想要达到的目标。如果你只是想这显示在TextBoxString然后做到这一点:

TextBox2.Text = Account 

你也可以这样做:

TextBox2.Lines = Account.Split() 

TexTbox显示与单独的行中元素的数组,其假设您已将其Multiline属性设置为True

1

TextBox2.Text是一个字符串。 string.Split()函数返回字符串的数组(由Visual Studio显示为string())。这些类型不匹配。你不能只将一个数组分配给一个字符串。我可能会问,如果你想这样做:

TextBox2.Text = String.Join(",", Account.Split()) 

这将至少编译。但它没有意义......为什么要分割一个字符串,只是为了再次加入它?

+0

我有一个很大的text.php,当我点击一个按钮时,它不会逐行显示它。它显示了整个文本。这就是为什么我想看看分裂是否会奏效。 –

相关问题