[VBNET] Split 函數跟字串類別方法回傳不同

今天在寫一段程式碼時,想說使用 String 類別,這樣將來若是要變換語言時,就會比較方便,沒想到跑出來結果差異甚大。
就寫了小段的測試函數:

 Private Sub TestSplit()
  Dim strTest As String = "1" & vbNewLine & "2"
  Dim classSplit As String() = strTest.Split(vbNewLine)
  Dim functionSplit As String() = Split(strTest, vbNewLine)
  Debug.WriteLine("Class: " & AscW(classSplit(1)) & ", " & "Function: " & AscW(functionSplit(1)))
 End Sub


傳回
Cass: 10 , Function: 50
一般情況會以為 String.Split 跟 Split 函數會有一樣的結果,頂多引數的關係而略有改變,沒想到,String.Split 只能收字元,也就是字串長度為 1 的 Char ,但可以收陣列,而 vbNewLine 為長度為 2 的字串,並不被 String.Split 支援。
太常用的功能,有時候就不會細看線上說明,等到發現時,通常發生了 bug …
廣告
Categories: 更新與回報 | 1 則迴響

文章分頁導航

One thought on “[VBNET] Split 函數跟字串類別方法回傳不同

  1. 子璉

    有興趣可以到這邊投票來聲援加入相同的方法:
    http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=177909

    按讚數

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

在WordPress.com寫網誌.

%d 位部落客按了讚: