はじめに
「SearchExtensions」をプロジェクトに追加することで
LINQ で使用できる検索用の拡張メソッドが増えます
インストール
Visual Studio メニューの「ツール>NuGet パッケージ マネージャー>
ソリューションの NuGet パッケージの管理」を選択します
「参照」タブを選択して、検索欄に「SearchExtensions」と入力して
表示された「SearchExtensions」を選択します
インストールしたいプロジェクトをチェックして「インストール」ボタンを押します
使い方
using NinjaNye.SearchExtensions;
「SearchExtensions」を使用する際は、ソースコードの先頭に上記の using を追加します
使用例
Containing
指定された文字列を含むパラメータを持つ要素を抽出します
var result = list
.Search(x => x.Property1)
.Containing("searchTerm")
;
var result = list
.Search(x => x.Property1, x => x.Property2, x => x.Property3)
.Containing("searchTerm")
;
var result = list .Search(x => x.Property1) .Containing("search", "term") ;
var result = list .Search(x => x.Property1, x => x.Property2, x => x.Property3) .Containing("searchTerm1", "searchTerm2", "searchTerm3") ;
var result = list .Search(x => x.Property1) .Containing("searchTerm1") .Search(x => x.Property1) .Containing("searchTerm2") ;
var result = list .Search(x => x.Property1, x => x.Property2) .Containing("searchTerm") .Search(x => x.Property3, x => x.Property4) .Containing("searchTerm") ;
var result = list .Search(x => x.Property1, x => x.Property2) .Containing("searchTerm") .Search(x => x.Property3) .Containing("another", "term") ;
IsEqual
指定された文字列に等しいパラメータを持つ要素を抽出します
var result = list
.Search(x => x.Property1)
.IsEqual("searchTerm")
;
var result = list
.Search(x => x.Property1, x => x.Property2, x => x.Property3)
.IsEqual("searchTerm")
;
var result = list .Search(x => x.Property1) .IsEqual("search", "term") ;
var result = list .Search(x => x.Property1, x => x.Property2, x => x.Property3) .IsEqual("searchTerm1", "searchTerm2", "searchTerm3") ;
StartsWith
指定された文字列で始まるパラメータを持つ要素を抽出します
var result = list
.Search(x => x.Property1)
.StartsWith("searchTerm")
;
var result = list
.Search(x => x.Property1, x => x.Property2, x => x.Property3)
.StartsWith("searchTerm")
;
var result = list .Search(x => x.Property1) .StartsWith("search", "term") ;
var result = list .Search(x => x.Property1, x => x.Property2, x => x.Property3) .StartsWith("searchTerm1", "searchTerm2", "searchTerm3") ;