1

当我做

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

4

3 回答 3

3

然后,您必须将项目转换为字符串:

String.Join(";", lst.Items.Select(Function(item) item.ToString()));
于 2013-10-11T14:21:32.370 回答
1

怎么样

    Dim res As String = String.Join(";", lst.Items.OfType(Of String))
于 2013-10-11T14:52:06.253 回答
0

这确实有效:

    Dim col As New Collection
    col.Add("One")
    col.Add("Two")
    col.Add("Three")

    Dim res = String.Join(";", col.OfType(Of String))

另请参阅此问题

于 2013-10-11T14:14:05.943 回答