这不是世界上最重要的问题,实际上这是我在工作日结束时给自己设定的一个小挑战。
基本上,我已经将标准函数转换为 Lambda,但不能用进一步的 Remove 语句完全替换扩展。那么任何热衷于 VB 中的 Lambda 的人都可以解释一下我该怎么做吗?
Property Inquery As Func(Of List(Of Integer), String) = Function(x) x.Aggregate("IN(", Function(current, id) current & (id & ",")).ToString.qtrim
<Extension()>
Function qTrim(str As String)
qTrim = str.Remove(str.Length - 1, 1) & ")"
End Function
由于 Meta-Knight 很友好地为我提供了一个很好的答案,我认为包含我现在使用的版本是公平的,如果他们想要的话,可以为其他人包含三元 if 语句:)
Property Inquery As Func(Of List(Of Integer), String) = Function(intList) If(intList.count > 0, "IN(" & String.Join(",", intList) & ")", "-1")