これは世界で最も重要なクエリではありません。実際、これは私が 1 日の終わりに自分自身に設定した小さな課題です。
基本的に、標準関数を Lambda に変換しましたが、拡張機能をさらに Remove ステートメントに置き換えることはできません。VB のラムダに熱心な人は、どうすればこれを行うことができるか説明してもらえますか?
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 は親切にも素晴らしい回答を提供してくれました。私が現在使用しているバージョンを含めるのは公平だと思います。他の人が必要な場合は、3 項の if ステートメントを含めます :)
Property Inquery As Func(Of List(Of Integer), String) = Function(intList) If(intList.count > 0, "IN(" & String.Join(",", intList) & ")", "-1")