【问题标题】:Value of type 'String' cannot be converted to 'String()'. VB.Net“String”类型的值无法转换为“String()”。 VB.Net
【发布时间】:2015-08-14 07:10:08
【问题描述】:
Dim StateNmList() As String, StateName As Object
    StateNmList = ("Alabama", "Alaska", "Arizona", "California", "Colorado", "Connecticut", "Delaware", "District of Columbia", "Florida", "Georgia","Hawaii", "Idaho", "Illinios", "Indiana", "Iowa", "Kansas", "Kentucky", "Louisiana", "Maine", "Maryland", "Massachusetts", "Michigan", "Minnesota", "Mississippi","Missouri", "Montana", "Nebraska", "Nevada", "New Hampshire", "New Jersey", "New Mexico", "New York", "North Carolina", "North Dakota", "Ohio", "Oklahoma","Oregon", "Pennsylvania", "Rhode Island", "South Carolina", "South Dakota", "Tennessee", "Texas", "Utah", "Vermont", "Virginia", "Washington", "West Virginia","Wisconsin", "Wyoming")
    StateName = Split(StateNmList, ",")
    Return StateName

返回错误: BC30311 'String' 类型的值无法转换为 'String()'。
BC30311 'String()' 类型的值无法转换为 'String'。

我不确定我做错了什么。

【问题讨论】:

  • 第一个错误对应于以 StateNmList = 开头的行,第二个错误对应于下一行以 StateName = 开头的行。
  • 您似乎正试图从列表中提取名称。 Dim StateNmList As String() 声明一个数组,StateNmList = {"Alabama"...} to populate an array with a literal; then StateName = StateNmList(n)` 获取一个;它应该是StateName As String,实际上根本不需要。

标签: arrays vb.net string


【解决方案1】:

Split 用于将单个字符串分隔成字符串数组,如下所示(未测试):

dim StateNameString as string
dim StateNameArray() as string

StateNameString = "Oklahoma, Arkansas, Hawaii, ..."
StateNameArray = StateNameString.Split(",")

for each stateName as string in stateNameArray
  msgbox (stateName)
next stateName

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多