今回はカスタムクラスをリストにしている場合に
特定のデータを検索する方法をご紹介します。
キーワード:Find,FindAll,Contains
例えばデータを格納するクラスを作って,
それをリストに入れる状況を想定します。
データを格納するカスタムクラスはこんな感じ public sealed class ListData { public ListData(int id, string text) { Id = id; Text = text; } public int Id { get; set; } public string Text { get; set; } }
IdとTextのみのシンプルなクラスです。
これをリストにします。 var list = new List<ListData>(); list.Add(new ListData(1, "text1")); list.Add(new ListData(2, "text2")); list.Add(new ListData(3, "text3")); list.Add(new ListData(4, "text3")); list.Add(new ListData(5, "2 word"));
この状況での特定の値を検索する方法を紹介します。
方法1
対象が1件を想定している場合:Find
Idが重複していない前提であれば,
Idを指定して検索します。
var findVal = list.Find(x => x.Id == 2);
こんな感じで書くと,Idが2のデータのみ
findValに取得されます。
方法2
検索対象が複数の場合:FindAll
var findAllVal = list.FindAll(x => x.Text == "text3");
FindAllを使用すると,ヒットしたデータがすべて取得されます。
この場合はTextがtext3のデータのみが取得されるので
検索結果は2件になります。
方法3
上記方法だと,文字が完全に一致していないと
ヒットしないので,一部でも一致していたら
ヒットさせたい場合は「==」ではなく「Contains」を使います。
var findContains = list.FindAll(x => x.Text.Contains("2"));
こうすると,Textに2を含むデータがすべて取得できるため
Id2とId5のデータが取得されます。
このように,FindやFindAllを使うことで
カスタムクラスのリストでも簡単に
検索処理を行うことができます。
- C#初心者のための基礎!C#文法2割の知識で8割の仕事をする方法!#1
- C#初心者のための基礎!ブロックと名前空間とクラスとメソッドを解説#2
- C#初心者のための基礎!#3値の扱い方。変数と定数をわかりやすく解説!
- C#初心者のための基礎!データ型の種類と使い分けをわかりやすく解説#4
- C#初心者のための基礎!値型と参照型の違いと使い方をわかりやすく解説#5
- C#初心者のための基礎!データ型の変換のやり方をわかりやすく解説#6
- C#初心者のための基礎!配列の使い方をわかりやすく解説#7
- C#初心者のための基礎!動的配列List<T>の使い方をわかりやすく解説#8
- C#初心者のための基礎!演算子の使い方をわかりやすく解説#9
- C#初心者のための基礎!if文とswich文の使い方をわかりやすく解説#10
- C#初心者のための基礎!while文の書き方と使い方をわかりやすく解説#11
- C#初心者のための基礎!do-While文の書き方と使い方をわかりやすく解説#12
- C#初心者のための基礎!for文の書き方と使い方をわかりやすく解説#13
- C#初心者のための基礎!foreach文の書き方と使い方をわかりやすく解説#14
- C#初心者のための基礎!オブジェクト指向の意味をわかりやすく解説#15
- C#初心者のための基礎!クラスの意味と使い方をわかりやすく解説#16
- C#初心者のための基礎!コンストラクタの意味と使い方をわかりやすく解説#17
- C#初心者のための基礎!アクセス修飾子の意味と使い方をわかりやすく解説#18
- C#初心者のための基礎!メソッドの意味と使い方をわかりやすく解説#19
- C#初心者のための基礎!フィールドの意味と使い方をわかりやすく解説#20
- C#初心者のための基礎!インスタンスの意味と使い方をわかりやすく解説#21
- C#初心者のための基礎!カプセル化の意味と使い方をわかりやすく解説#22
- C#初心者のための基礎!プロパティの意味と使い方をわかりやすく解説#23
- C#初心者のための基礎!Disposeとusingの意味と使い方を解説#24
- C#初心者のための基礎!staticスタティックの意味と使い方を解説#25
- C#初心者のための基礎!継承の意味と使い方をわかりやすく解説#26
- C#初心者のための基礎!override(オーバーライド)の使い方を解説#27
- C#初心者のための基礎!ポリモーフィズムとインタフェースの使い方を解説#28
- C#初心者のための基礎!ポリモーフィズムと抽象クラスの使い方を解説#29
- C#初心者のための基礎!例外Exceptionの意味と使い方をわかりやすく解説#30