VB.NET:将字符串前置到字符串列表中的所有字符串.是否有现成的方法可以做到这一点?

Jer*_*emy 4 vb.net string methods list

我有一个字符串列表.对于该列表中的每个字符串,我想要添加另一个字符串.我写了一个方法来做到这一点,但我想知道是否已经有一些东西在.NET中我可以用它来做到这一点.它似乎可以内置,但我无法找到任何东西.

这是我写的方法:

Private Function PrependToAllInList(ByRef inputList As List(Of String), ByRef prependString As String) As List(Of String)
    Dim returnList As List(Of String) = New List(Of String)
    For Each inputString As String In inputList
        returnList.Add(String.Format("{0}{1}", prependString, inputString))
    Next
    Return returnList
End Function
Run Code Online (Sandbox Code Playgroud)

它有效,但我宁愿尽可能使用内置函数.谢谢你的帮助.

Ben*_*ack 6

如果您可以使用LINQ(.NET 3.5或更高版本),则可以使用简单的LINQ查询为您完成工作:

Dim qry = stringList.Select(Function(s) "prepend this " & s)
Dim returnList = qry.ToList()
Run Code Online (Sandbox Code Playgroud)

默认情况下,Select()将返回一个IEnumerable(Of String)应该工作的.如果您确实需要将集合作为列表,则可以包含该.ToList()命令.但是,如果您只计划迭代集合(例如For Each s As String in qry),则无需承担将其转换回列表的费用.