[LINQ] クエリ式(Like検索をする)

LINQでSQLでいうLike検索を行う方法について見ていきましょう。


XXを含むデータを抽出する

あるデータ群の中から、「XXが含まれるデータのみを抽出したい」という場合には Containsメソッドを使用します。

たとえば、以下の例では flowers データの中から “flo” という文字列を含むデータのみを抽出します。

VBの例

Dim flowers As String() = {"Rose", "Tulip", "Sunflower"}

Dim data = From name In flowers
           Where name.Contains("flo")
           Select name

C#の例

string[] flowers = { "Rose", "Tulip", "Sunflower" };

var data = from name in flowers
           where name.Contains("flo")
           select name;

 

XXで始まるデータを抽出する

あるデータ群の中から、「XXで始まるデータのみを抽出したい」という場合にはStartsWithメソッドを使用します。

たとえば、以下の例では flowers データの中から “Tu” で始まるデータのみを抽出します。

VBの例

Dim flowers As String() = {"Rose", "Tulip", "Sunflower"}

Dim data = From name In flowers
           Where name.StartsWith("Tu")
           Select name

C#の例

string[] flowers = { "Rose", "Tulip", "Sunflower" };

var data = from name in flowers
           where name.StartsWith("Tu")
           select name;

XXで終わるデータを抽出する 

あるデータ群の中から、「XXで終わるデータのみを抽出したい」という場合にはEndsWithメソッドを使用します。

たとえば、以下の例では flowers データの中から “se” で始まるデータのみを抽出します。

VBの例

Dim flowers As String() = {"Rose", "Tulip", "Sunflower"}

Dim data = From name In flowers
           Where name.EndsWith("se")
           Select name

C#の例

string[] flowers = { "Rose", "Tulip", "Sunflower" };

var data = from name in flowers
           where name.EndsWith("se")
           select name;

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です