Lambda 表达式不能转换为“<typename>”,因为“<typename>”不是委托类型
更新:2007 年 11 月
lambda 表达式可在委托有效的场合使用。可以将 lambda 表达式转换为兼容的委托类型,但不能将其转换为任何其他类型。例如,可以定义一个委托类型并将 lambda 表达式赋给它,或者发送一个 lambda 表达式作为 Func<TResult> 形参的实参。下面的代码演示这些示例。
Module Module1
Delegate Function FunDel(ByVal m As Integer) As Boolean
Sub Main()
' Assign a lambda expression to a function delegate.
Dim negative As FunDel = Function(n As Integer) n < 0
Console.WriteLine(negative(-3))
' Send a lambda as the argument to a delegate parameter.
Dim numbers() As Integer = {3, 4, 2, 8, 1, 0, 9, 13, 42}
Dim evens = numbers.Where(Function(n) n Mod 2 = 0)
For Each even In evens
Console.WriteLine(even)
Next
End Sub
End Module
**错误 ID:**BC36625