逗号"定义"项的列表逗号、定义、列表、QUOT

2023-09-03 09:36:41 作者:粉黛♡

由于字符串列表,什么是串联这些字符串放到一个逗号分隔的列表没有逗号结束的最佳方法。 (VB.NET或C#)(使用StringBuilder的或字符串连接。)

 昏暗strResult的String =
昏暗lstItems作为新的列表(串)
lstItems.Add(你好)
lstItems.Add(世界)
对于每个strItem作为字符串在lstItems
    如果strResult.Length> 0然后
        strResult = strResult和放大器; ,
    结束如果
    strResult = strResult和放大器; strItem
下一个
的MessageBox.show(strResult)
 

解决方案

 昏暗的结果作为字符串
昏暗的项目作为新的列表(串)
Items.Add(你好)
Items.Add(世界)

结果=的string.join(,,Items.ToArray())
的MessageBox.show(结果)
 

如果你真的关心空字符串,使用此连接功能:

 功能加入(BYVAL分隔符作为字符串,BYVAL项目为IEnumerable(串),可选BYVAL IgnoreEmptyEntries由于布尔=真)作为字符串
    昏暗的delim作为字符串=
    昏暗的结果作为新Text.StringBuilder()

    对于每个项目作为字符串中的项目
        如果没有IgnoreEmptyEntries OrElse运算不String.IsNullOrEmpty(项目),然后
            result.Append(DELIM).Append(项目)
            DELIM =分隔符
        结束如果
    下一个
    返回result.ToString()
端功能
 
办公小技巧 用好Excel效率型表格高级技巧

Given a list of strings, what is the best method for concatenating these strings into a comma separated list with no comma at the end. (VB.NET or C#) (Using either StringBuilder or String Concat.)

Dim strResult As String = ""
Dim lstItems As New List(Of String)
lstItems.Add("Hello")
lstItems.Add("World")
For Each strItem As String In lstItems
    If strResult.Length > 0 Then
        strResult = strResult & ", "
    End If
    strResult = strResult & strItem
Next
MessageBox.Show(strResult)

解决方案

Dim Result As String
Dim Items As New List(Of String)
Items.Add("Hello")
Items.Add("World")

Result = String.Join(",", Items.ToArray())
MessageBox.Show(Result)

If you're really concerned about empty strings, use this join function:

Function Join(ByVal delimiter As String, ByVal items As IEnumerable(Of String), Optional ByVal IgnoreEmptyEntries As Boolean = True) As String
    Dim delim As String = ""
    Dim result As New Text.StringBuilder("")

    For Each item As String In items
        If Not IgnoreEmptyEntries OrElse Not String.IsNullOrEmpty(item) Then
            result.Append(delim).Append(item)
            delim = delimiter
        End If
    Next
    Return result.ToString()
End Function