コレクション LINQ

[C#] コレクションをIN句のように検索する

コレクションをSQLのIN句のように検索するサンプルです。

サンプル

例)list内の要素で、list2の要素に含まれるもののみ抽出する


using System.Collections.Generic;
using System.Linq;

//元のコレクション
var list = new List<string>();
list.Add("札幌");
list.Add("仙台");
list.Add("横浜");
list.Add("名古屋");
list.Add("大阪");
list.Add("広島");
list.Add("福岡");

//検索する値(IN句にあたるもの)
var list2 = new List<string>();
list2.Add("仙台");
list2.Add("広島");
list2.Add("熊本");

//listの中でlist2に含まれるもののみ抽出する
var result = list.Where(x => list2.Contains(x)).ToList();

結果

仙台
広島

備考

  • LINQなので、「using System.Linq;」を指定してください。
  • 単数の値で検索したい場合はLINQを使わなくても実現できます。
    詳細は以下関連記事をご覧ください。

関連記事

-コレクション, LINQ