我有我分配給一個變量組合框:分裂在VB字符串
Dim var as String = ComboBox1.SelectedValue
Dim name As String = var.Split(",")
這給我的錯誤類型「串的1維陣列」的
值不能爲轉換爲字符串
任何有關我哪裏出錯的想法?
我有我分配給一個變量組合框:分裂在VB字符串
Dim var as String = ComboBox1.SelectedValue
Dim name As String = var.Split(",")
這給我的錯誤類型「串的1維陣列」的
值不能爲轉換爲字符串
任何有關我哪裏出錯的想法?
Split返回字符串的數組。您的變量需要更改爲數組,而不僅僅是一個字符串。
名稱需要聲明爲一個數組。
dim name() as string = var.split(",")
的分裂()方法將分手基於給定字符的字符串,並把每個新創建的串到一個數組並返回它。
這是你的錯誤信息告訴你:
Value of type '1-dimensional array of string' cannot be converted to String
該方法返回一個字符串數組,但你試圖把它變成只是一個字符串!
編輯:在回答你的答案......
到目前爲止,您已經成功地用自己的拆分法拆分字符串。要輸出給你的消息框,您需要連接的兩個元素以正確的順序:
msgbox(name(1) & " " & name(0))
通知我索引的陣列的兩倍!元素1是第一個名字,元素0是最後一個名字。請記住,你的名字是lname,fname格式。傳遞數組本身並不合理!請記住,數據類型不等於該類型的數組,它們是兩個不同的東西。因此,字符串與字符串數組不兼容。但是,數組中的每個單獨元素都是一個字符串,因此每個元素都與字符串類型兼容(因爲它們是相同的東西)!
當我將Name添加到數組值時,我現在正在收到錯誤。 「從類型'DataRowView'轉換爲類型'String'無效。」這是在「Dim var As String = ComboBox1.SelectedValue」行上的運行時 - – user765942
@ user765942通過調用它的.ToString()方法將SelectedValue轉換爲字符串。 – MGZero
我已經習慣了ToString()方法,但是現在我在運行時遇到了這個錯誤...「參數'Prompt'無法轉換爲類型'String'。」這是當我嘗試並顯示在消息框中的結果 - MsgBox(名稱) – user765942
我VB是有點生疏,但我認爲你必須作出name
數組:
Dim name() As String = var.Split(",")
當我將名稱添加到數組值時,我現在正在收到錯誤。 「從類型'DataRowView'轉換爲類型'String'無效。」這是在運行時在「Dim var As String = ComboBox1.SelectedValue」 – user765942
用'Dim var as String = ComboBox1.SelectedValue.ToString'替換'Dim var as String = ComboBox1.SelectedValue'。 – Blender
或者,也許「名」是不是數組,目標是填充「名」的一切直到第一個逗號爲止,在這種情況下,修正爲:
Dim name as String = var.Split(",")(0)
注意:假定var不是Nothing。
Dim var As String = ComboBox1.SelectedValue
Dim temp() As String = Split(var, ",", -1, CompareMethod.Binary)
Dim name As String = temp(0)
這是vb.net還是vb6? –
@Lance,VB6不支持顯示的初始值設定項。 –
@agent,謝謝,我主要用VBA工作,並不確定VB6是否工作。 –