【发布时间】:2015-10-24 11:15:36
【问题描述】:
我有一个以这种方式定义的类,它继承自 List(Of String),我有一些方法需要替换整个项目列表:
class something : Inherits List(Of String)
<DebuggerStepThrough>
Public Sub Trim(Optional ByVal trimChars As Char() = Nothing)
Dim tmpList As New List(Of String)((From line As String In Me
Select line.Trim(trimChars)).ToList)
Me.Clear()
Me.AddRange(tmpList)
End Sub
end class
或者这样避免使用 LINQ:
Public Sub Trim(Optional ByVal trimChars As Char() = Nothing)
Dim tmpList As New List(Of String)
For Each item As String In Me
tmpList.Add(item.Trim(trimChars))
Next item
Me.Clear()
Me.AddRange(tmpList)
End Sub
但我认为,如果我们谈论的是庞大的项目列表,那么清除项目并添加新项目并不是最有效的方式。
然后,我想改进我进行替换的部分,例如,而不是清除项目并添加新项目,我可以通过提高性能访问基础集合或其他方法以适当的方式执行这个逻辑?
编辑:
也许这种逻辑可能是最有效的?
Public Sub Trim(Optional ByVal trimChars As Char() = Nothing)
For index As Integer = 0 To (Me.Count - 1)
Me(index) = Me(index).Trim(trimChars)
Next
End Sub
【问题讨论】:
标签: vb.net linq list inheritance ienumerable