私のプロジェクトで配列をフィルタリングするためにDynamic LINQを使用しています。ライブラリは NuGet Gallery linkまたは Codeplex linkからダウンロードできます。 NuGetリンクからバージョン1.0.6を使用しています。 LINQと同じですが、文字列を使用して条件を指定できます。例:myArray.Where(myDynamicQueryString)ダイナミックLINQクエリ文字列を作成する方法* abc * def *
左と右の式と演算子に基づいて、その場でQueryStringを作成します。例えば、私のクエリは
- ABC < 3であれば、私の動的なクエリ文字列になります(ABC < 3)
- XYZ == 5.0は、myDynamicQueryStringはなります(XYZ = 5)
- デフ== "名前"、myDynamicQueryStringは(DEF = "名前")== "筋力*"、myDynamicQueryStringは(var.StartsWith( "筋力"))
- VAR == "*筋力" になり、myDynamicQueryString
- VARになります(var.EndsWith( "Str"))
- var == "* Str *"、myDynami cQueryStringは(var.Contains( "Str"))
ここで、* abc * def *のようなクエリのクエリ文字列はどうでしょうか?
私はそれが何かで始まり、何かで終わり、abcとdefの間に何かを持つことができますが、abcとdefはその特定の順序で現れなければならないことを知っています。しかし、StartsWith/EndsWith/Containsを使用してクエリ表現に変換するにはどうすればよいですか?(私が知っているものはありますか他のものがあれば教えてください)