集合到分隔的字符串

时间:2013-10-11 13:58:30

标签: vb.net string object

当我做的时候

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做到这一点吗?它会更快吗?

3 个答案:

答案 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))

另见this question