迭代List并删除.NET中的其他成员

Bri*_*ter 2 .net vb.net collections list data-structures

在C++中std::list,删除成员是一个简单的事情,可以删除迭代器所指向的内容.(erase语句返回列表的下一个有效成员.)

在.NET中,迭代列表并删除符合特定条件的成员的最佳方法是什么?

Kob*_*obi 9

List<T>RemoveAll方法,采取谓词并删除项目:http://msdn.microsoft.com/en-us/library/wdka673a.aspx

dinosaurs.RemoveAll(AddressOf EndsWithSaurus)

Private Shared Function EndsWithSaurus(ByVal s As String) _
    As Boolean
    If (s.Length > 5) AndAlso _
        (s.Substring(s.Length - 6).ToLower() = "saurus") Then
        Return True
    Else
        Return False
    End If
End Function
Run Code Online (Sandbox Code Playgroud)