LINQ

[C#] LINQラムダ式で存在チェックを行う(.Exists)

2021年5月9日

LINQラムダ式で存在チェックを行うには、.Exists()を使用します。

サンプル

例1)List<int>の要素の存在チェックを行う


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

//int型のList
var list = new List<int>();
list.Add(7);
list.Add(3);
list.Add(9);

//listの要素に3が存在するか調べる
var result = list.Exists(x => x == 3);

結果

true

例2)List<string>の要素の存在チェックを行う


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

//string型のList
var list = new List<string>();
list.Add("鈴木");
list.Add("田中");
list.Add("木村");
list.Add("山田");
list.Add("大木");

//listの要素に"田中"が存在するか調べる
var a = list.Exists(x => x.Equals("田中"));

//listの中に"木"が含まれる要素が存在するか調べる
var b = list.Exists(x => x.Contains("木"));

//listの中に"木"で始まる要素が存在するか調べる
var c = list.Exists(x => x.StartsWith("木"));

//listの中に"木"で終わる要素が存在するか調べる
var d = list.Exists(x => x.EndsWith("木"));

結果

a → true
b → true
c → true
d → true

例3)データクラスのListの要素の存在チェックを行う


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

//Prefクラス
class Pref{
  public int No {get; set;}
  public string Name {get; set;}
  public int Population {get; set;}
}

//PrefクラスのList
var list = new List<Pref>();
list.Add(new Pref{No=1, Name="北海道", Population=5381733});
list.Add(new Pref{No=2, Name="青森県", Population=1308265});
list.Add(new Pref{No=3, Name="岩手県", Population=1279594});
list.Add(new Pref{No=4, Name="宮城県", Population=2333899});
list.Add(new Pref{No=5, Name="秋田県", Population=1023119});

//Pref.Poplationに500万以上の値を保持する要素が存在するか調べる
var result = list.Exists(x => x.Population >= 5000000);

結果

true

備考

  • LINQを使用するには、「using System.Linq;」の宣言が必要です。
  • .Existsの戻り値の型はbool型です。

-LINQ