文字列リストに含まれる文字列で始まるメンバを持つクラスのリストを取得したいです。
// データクラス
public class Data { public int val = 1; public string name = string.Empty; }
// 検索するデータリスト
List<Data> dataList = new List<Data>{ new Data(val = 1, Name = "aaa"), // data1 new Data(val = 2, Name = "ddd"), // data2 new Data(val = 3, Name = "bbb1") // data3 };
// 検索文字列
List<string> targetList = new List<string> { "aaa", "bbb", "ccc" };
Data.name が targetList 中のどれかの文字列で始まる dataList 要素を取得したいです。
↓のようにベタに書くことはできるのですが、Linq で簡単にまとめる方法はないでしょうか。
List<Data> resultList = new List<Data>(); foreach (var data in dataList) { foreach (var targetStr in targetList) { if (data.name.StartsWith(targetStr) == true) { resultList.Add(data); } } }
回答1件
あなたの回答
tips
プレビュー