如何摆脱第一个连接符号

fed*_*eka 1 vb.net

我正在循环一个表数据库以捕获某些行的名字

代码如下:

Try
While (readerFirstName.Read())
    SearchedName = readerFirstName("parteA")
    CombinatedNames = CombinatedNames & " & " & SearchedName
End While

Catch ex As Exception
    MsgBox(ex.ToString())
End Try
Run Code Online (Sandbox Code Playgroud)

而期望的结果就像是

迈克和埃里克和汤姆

但我明白了

&Mike&Eric&Tom

我想我可以使用String.TrimStart摆脱字符串形成后的第一个"&"

但是有一个更好的方法来削减第一个"&"?

sta*_*ica 5

尝试更换循环:

While (readerFirstName.Read())
    SearchedName = readerFirstName("parteA")
    CombinatedNames = CombinatedNames & " & " & SearchedName
End While
Run Code Online (Sandbox Code Playgroud)

有了这个:

Dim names As New List(Of String)()
While (readerFirstName.Read())
    names.Add(readerFirstName("parteA"))
End While
CombinatedNames = String.Join(" & ", names)
Run Code Online (Sandbox Code Playgroud)

这里的主要思想是使用该String.Join方法在单个操作中连接单个名称.该方法对集合起作用,因此您首先必须将单个项目读入集合中names.

此方法将" & " 之间添加分隔符字符串,从不在第一个之前或之后添加,因此您不会以前导或尾随分隔符结束(除非列表中有空项).

PS:如果您事先知道将读取多少个名称readerFirstNames,您可以通过将名称计数传递给List(Of T)构造函数(作为capacity参数)来优化我建议代码的内存使用量.