我在我的vb.net解決方案中有這個代碼,爲什麼我在標題中出現錯誤?錯誤重載解析失敗,因爲在沒有縮小轉換的情況下無法調用可訪問的「新建」?
Dim ids As New System.Collections.Generic.List(Of [String])(comma_seperatedstring.Split(","c))
我在我的vb.net解決方案中有這個代碼,爲什麼我在標題中出現錯誤?錯誤重載解析失敗,因爲在沒有縮小轉換的情況下無法調用可訪問的「新建」?
Dim ids As New System.Collections.Generic.List(Of [String])(comma_seperatedstring.Split(","c))
它看起來就像你試圖做的是分裂逗號分隔串入的ID,並將其存儲在一個字符串類型的泛型列表的東西 - 如果是這樣的話,我不知道的一種方式你可以像這樣初始化列表。
像這樣的成才應該工作:
Dim ids As New List(Of String)()
Dim individualIds As String() = comma_separatedstring.Split(",")
For Each id As String in individualIds
ids.Add(id)
Next
的語法可能有點關閉(我不這樣做VB.NET很多時候),但其基本思想就是分裂seaprated串入一個逗號數組,然後遍歷數組並將每個元素添加到通用列表中。
有4.0 From
關鍵字,可讓您使用以下語法初始化列表:
Dim ids As New List(Of String) From { "a", "b", "c" }
但現在看來,你必須明確列出的元素(換句話說,你不能這樣做From { comma_separatedstring.Split(",") }
。
對於我有類似的問題,讓「重載決策失敗,因爲沒有可訪問的‘拆分’可以在不縮小的合作被稱爲nversion「在這行代碼上:
Dim sStrings() As String = sArg.Split("=", 2)
」.paul。 _」迴應,在這裏解決它的答案:http://social.msdn.microsoft.com/Forums/en-US/bd3c446f-46b2-4a60-9d10-6d31f30b6e7d/what-has-changed-in-split-from-previous-to-current-versions-of-net-or-vb
的新的工作代碼爲:
Dim sStrings() As String = sArg.Split(New Char() {"="c}, 2)