以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 引用 Split 分割字符串得到的数组,出现编译错误,为什么呢?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=145051)

--  作者:龙潭春早
--  发布时间:2020/1/6 20:07:00
--  [求助] 引用 Split 分割字符串得到的数组,出现编译错误,为什么呢?
任务:双击表B单元格,向表A 的多个列输入数据

代码:

Dim Pn2(),Pn3(),str2s,str3s As String
str2s = "A1,A2,A3,A4,A5,A6" \' 表A 列名字符串
str3s = "B1,B2,B3,B4,B5,B6" \' 表B 列名字符串
Dim dr As DataRow = DataTables("表A").Find("[编码] = \'"&e.Row("编码")&"\'")
If dr IsNot Nothing Then
    Pn2() = str2s.Split(",") \' 表A 列名数组
    Pn3() = str3s.Split(",") \' 表B 列名数组    
    For i As Integer = 0 To Pn2().Length - 1
        dr(Pn2(i)) = e.Row(Pn3(i))
    Next    
End If

保存代码时,出现编译错误,为什么呢? 怎么解决呢?

图片点击可在新窗口打开查看此主题相关图片如下:双击输入时代码编译错误.png
图片点击可在新窗口打开查看



--  作者:有点蓝
--  发布时间:2020/1/6 20:14:00
--  

    Pn2 = str2s.Split(",") \' 表A 列名数组
    Pn3 = str3s.Split(",") \' 表B 列名数组    
    For i As Integer = 0 To Pn2.Length - 1

--  作者:龙潭春早
--  发布时间:2020/1/6 21:30:00
--  
蓝老师,帮助中的下面这个示例里,定义了 Parts() 并用它直接引用了字符串分割数组,
我们这里为什么不能用 Pn2() 直接引用数组,而必须用 Pn2 引用呢?

帮助中的示例代码:

Dim Tel As String = "0759 - 3166876"
Dim Parts() As String = Tel.Split("-")
Output.Show("区号:" & Parts(0))
Output.Show("电话:" & Parts(1))
在命令窗口执行上述代码,得到的结果是:
区号:0759
电话:3166876

--  作者:有点蓝
--  发布时间:2020/1/6 21:59:00
--  
固定语法,定义的时候才需要,赋值的时候不需要
--  作者:龙潭春早
--  发布时间:2020/1/6 22:46:00
--  
哦 多谢!