C#初級プログラミング

C#でListの中身を検索する方法とその使い方(Find,FindAll,Contains)

今回はカスタムクラスをリストにしている場合に
特定のデータを検索する方法をご紹介します。
キーワード:Find,FindAll,Contains

例えばデータを格納するクラスを作って,
それをリストに入れる状況を想定します。

IdとTextのみのシンプルなクラスです。

この状況での特定の値を検索する方法を紹介します。

方法1

対象が1件を想定している場合:Find
Idが重複していない前提であれば,
Idを指定して検索します。

こんな感じで書くと,Idが2のデータのみ
findValに取得されます。

方法2

検索対象が複数の場合:FindAll

FindAllを使用すると,ヒットしたデータがすべて取得されます。
この場合はTextがtext3のデータのみが取得されるので
検索結果は2件になります。

方法3

上記方法だと,文字が完全に一致していないと
ヒットしないので,一部でも一致していたら
ヒットさせたい場合は「==」ではなく「Contains」を使います。

こうすると,Textに2を含むデータがすべて取得できるため
Id2とId5のデータが取得されます。

このように,FindやFindAllを使うことで
カスタムクラスのリストでも簡単に
検索処理を行うことができます。

トップページへ戻る

C#初心者のための基礎文法

C#を正しい3層構造で造れてますか?

非売品コースを受け取る