2017-08-17 171 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,當我點擊一個按鈕時,它不會逐行顯示它。它顯示了整個文本。這就是爲什麼我想看看分裂是否會奏效。 –

相關問題