Tôi có biểu thức lambda nội tuyến mà tôi muốn sử dụng trong suốt ứng dụng của mình. Tôi chỉ có vẻ không thể tìm thấy một tài liệu tham khảo về cách làm điều này với nhiều thông số hơn so với các yếu tố đang được thử nghiệm. Đây là một ví dụ nhanh về những gì tôi hiện có.Tôi có thể sử dụng Phương thức thay vì biểu thức Lambda với tham số bổ sung
Private Sub Test()
Dim List As New List(Of String) From {"Joe", "Ken", "Bob", "John"}
Dim Search As String = "*Jo*"
Dim Result = List.Where(Function(Name) Name Like Search)
End Sub
Tôi biết phương thức là loại tham số và boolean trả về.
Private Sub Test()
Dim List As New List(Of String) From {"Joe", "Ken", "Bob", "John"}
Dim Search As String = "*Jo*"
Dim Result = List.Where(AddressOf FindName)
End Sub
Private Function FindName(Name As String) As Boolean
Return Name Like "*Jo*"
End Function
Tôi cũng muốn chuyển biến Tìm kiếm vào Tìm tên. Tôi chỉ không thể có được cú pháp figured thực hiện điều này. Giải pháp làm việc duy nhất mà tôi đưa ra là chuyển mọi thứ đến một hàm để thực hiện câu lệnh gốc.
Private Sub Test()
Dim List As New List(Of String) From {"Joe", "Ken", "Bob", "John"}
Dim Search As String = "*Jo*"
Dim Result = FindName(List, Search)
End Sub
Private Function FindName(List As IEnumerable(Of String), Search As String) As IEnumerable(Of String)
Return List.Where(Function(Name) Name Like Search)
End Function
Không cảm thấy bị bắt buộc phải trả lời trong VB.
rút gọn [cách tiếp cận đại biểu] của tôi (http://stackoverflow.com/a/9036948/284240). –