以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]如何将数组转换为字符串?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=45710)

--  作者:czy66ds
--  发布时间:2014/2/9 16:09:00
--  [求助]如何将数组转换为字符串?
如题,我把问题提清楚:

以下代码:
Dim s1() As String = {"中国","美国","日本","俄罗斯"}

定义了一个数组s1.

我的问题是:

如果已经有了数组s1,如何将其转换成一个字符串:

"中国,美国,日本,俄罗斯"

--  作者:lsy
--  发布时间:2014/2/9 16:15:00
--  
 

Dim Parts() As String = {"中国","上海","浦东"}
Dim
Str1 As String
Str1 =
String.Join(",", Parts)
Output.Show(Str1)


--  作者:czy66ds
--  发布时间:2014/2/9 16:27:00
--  
太感谢你了。那么对于一个已知集合如何转换成一个字符串(用逗号分隔)呢?
--  作者:czy66ds
--  发布时间:2014/2/9 16:42:00
--  
是先将集合转换为数组,再转换为字符串吗?有直接转换的方法吗?
--  作者:y2287958
--  发布时间:2014/2/9 16:44:00
--  
最笨的方法是循环
--  作者:lsy
--  发布时间:2014/2/9 16:49:00
--  
Dim lst As List(Of String) = DataTables("表A").GetValues("编号")
Dim s As String = String.Join(",",lst.ToArray)
Output.Show(s)

--  作者:czy66ds
--  发布时间:2014/2/9 17:40:00
--  
谢谢LSY和y2287958了。
下边这个有点难度了
帮助:
“FoxTable还提供了一个Users集合,用于返回所有的用户,例如:

For Each us As UserInfo In Users
    Output.show(
"分组:" & us.Group)
    Output.Show(
"名称:" & us.Name)
Next”


如何将us转换成一个所有用户的一个字符串(逗号分隔)?


问题在于US只是一个“Users集合”,不是一个通常意义下的集合,不具备.ToArray这样的方法。


这可如何是好?


--  作者:lsy
--  发布时间:2014/2/9 18:21:00
--  
Dim str As String
For Each us As UserInfo In Users
    str + = us.Name & ","
Next
Output.Show(str.Trim(","))

--  作者:czy66ds
--  发布时间:2014/2/9 18:39:00
--  
你真的很棒。