当我做的时候
String.Join(";", lst.Items)
我得到一串对象描述符而不是值项。 但是当我迭代集合时,我最后在前面或后面都有一个分隔符,之后需要进行一个Substring调用。
Dim res As String = "" 'or use stringbuilder
For Each s As String In lst.Items
s &= ";" & s
Next
res = res.Substring(1)
这适用于您希望将集合中的共享属性转换为分隔字符串的其他情况。有一个很好的方法来做到这一点? 我可以用LINQ做到这一点吗?它会更快吗?
答案 0 :(得分:3)
您必须将项目转换为字符串:
String.Join(";", lst.Items.Select(Function(item) item.ToString()));
答案 1 :(得分:1)
怎么样
Dim res As String = String.Join(";", lst.Items.OfType(Of String))
答案 2 :(得分:0)
这确实有效:
Dim col As New Collection
col.Add("One")
col.Add("Two")
col.Add("Three")
Dim res = String.Join(";", col.OfType(Of String))