2016-10-02 130 views
-1

我試圖在C#線System.Object的[]不能被轉換爲System.String []

string[] phrases = text.Split (new[] { '\"' }, StringSplitOptions.RemoveEmptyEntries); 

轉換爲VB.NET。

我的嘗試是

Dim phrases() As String = text.Split (New Object() { """"c }, StringSplitOptions.RemoveEmptyEntries) 

不過,我得到錯誤 「System.Object的[]不能被轉換爲System.String []」。

我在做什麼錯了?

+1

[字符串。拆分方法(Char(),StringSplitOptions)](https://msdn.microsoft.com/en-us/library/ms131448(v = vs.110).aspx) – Plutonix

+0

我不是很流利的VB,但它看起來像'新對象( )'部分是問題,因爲它將實例化新數組中的值作爲Object而不是String。 – Abion47

+0

@ Abion47:不,OP正在使用接受char數組的重載 - 這就是爲什麼他們在C#版本中傳遞char數組(而不是字符串數組)的原因。 –

回答

-1

你可以使用任何網上的C#到VB轉換器,你會得到這樣的:

Dim phrases As String() = text.Split(New String() {""""C}, StringSplitOptions.RemoveEmptyEntries) 

所以錯誤部分使用對象()。

+0

謝謝,但是你的代碼會產生錯誤「預期類型」。 – tmighty

+0

改用'New String()'。 – Abion47

+0

是的,它做到了。但丹尼爾需要編輯他的答案。 – tmighty

-1

正如Plutonix在他的評論中提到的那樣,第一個參數是一個char數組(new [] {'\「'}不是一個char數組),所以也許使用char數組會有一些意義嗎?

Dim phrases() As String = text.Split(New Char() {""""c}, StringSplitOptions.RemoveEmptyEntries) 

現在在VB中,你甚至不必說 '新CHAR()',因爲VB知道{ 「」, 「」 C}是一個字符數組:

Dim phrases() As String = text.Split({""""c}, StringSplitOptions.RemoveEmptyEntries) 
相關問題