每个人(或所有被教过的人)都知道StringBuilder是动态构建包含多个连接的字符串的方法。
由于(我必须承认)大多是懒惰,如果我做一些连接(比如说,大约3),我将使用一个普通的老字符串。我想我无法处理那个额外的实例化和toString。
在这种情况下使用普通的老字符串做差吗?在此上下文中使用StringBuilder与String之间是否有额外的开销,或者StringBuilder是否仍然更有效?
具体例子:
Dim PractitionerName As String = CurrentApplicant.FirstName
If CurrentApplicant.Demographics.MiddleInitial <> "" Then
PractitionerName &= " " & CurrentApplicant.Demographics.MiddleInitial
End If
If CurrentApplicant.LastName <> "" Then
PractitionerName &= " " & CurrentApplicant.LastName
End If
Dim Endorsements As String = ""
For Each Endorsement As IowaLicensure.LicenseEndorsement In PractitionerLicense.LicenseEndorsements
Endorsements &= Endorsement.EndorsementType.Description & VbCrLf
Next
答案 0 :(得分:2)
魔鬼在细节中,但在某些情况下你可以使用这样的东西:
If bePolite Then
Return String.Format("{0} {1} {2} {3}", Title, FirstN, MiddleI, LastN)
' "Doctor Jonas K Salk"
Else
Return String.Format("{0}, {1}", LastN, FirstN)
' "Jones, Sally"
End If
For Each场景比较棘手,但有时可以从其中一个底层类开始。在大多数情况下,除非有更大的循环迭代,否则可能不会保存太多。