C#/VB SQLのINのように指定した複数条件が一致するデータを抽出(ラムダ式)

SQLのINのように指定した複数の条件に一致するデータを抽出することはできますか?

LINQラムダ式のWhere区でContainsを使って条件に一致したデータを取得することができます。

目次

指定した複数条件が一致するデータを抽出

 LINQのWhere句では、Containsメソッドを利用することで、SQLの「IN」句のように、複数の条件に一致するデータを取得することができます。

リスト.Where(x => IN区のリスト.Contains(x.Item1))

例えば、以下のようなコードを書くことで、指定した複数のIDを持つデータを抽出することができます。

List<(int, string)> lstItem = new List<(int,string)> {(1,"sakura"),
                                                        (2, "suisei"), 
                                                        (3, "usada"), 
                                                        (4, "korone"), 
                                                        (5, "koyori") };

List<int> inItem = new List<int> { 1, 2 };
var ret = lstItem.Where(x => inItem.Contains(x.Item1)).ToList();
ret.ForEach(x => Debug.WriteLine(x));
Dim lstItem As New List(Of (Integer, String))

lstItem.Add((1, "sakura"))
lstItem.Add((2, "suisei"))
lstItem.Add((3, "usada"))
lstItem.Add((4, "korone"))
lstItem.Add((5, "koyori"))

Dim inItem As New List(Of Integer)() From {1, 2}
Dim ret = lstItem.Where(Function(x) inItem.Contains(x.Item1)).ToList()
ret.ForEach(Sub(x) Debug.WriteLine(x))
(1, sakura)
(2, suisei)

 このように、C#やVB.NETでは、LINQのWhere句とラムダ式を使用することで、簡単に複数の条件に一致するデータを抽出することができます。

リスキリングでキャリアアップしてみませんか?

リスキリング(学び直し)は、経済産業省が推奨しており、

今だけ、最大70%のキャッシュバックを受けることができます。

リスキリング 給付金が出るスクール紹介

最大70%の給付金が出るおすすめのプログラミングスクール!

国策で予算が決められているため申し込みが多い場合は早期に終了する可能性があります!

興味のある方はすぐに確認しましょう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次