自分用のメモ。
以下のようなクラスがあり、Nameプロパティをカンマ区切りで連結する必要があるとします。
public class Item { public int ID { get; set; } public string Name { get; set; } public int Amount { get; set; } }
実際のオブジェクトはこんな感じ。
var items = new List<Item> { new Item { ID = 1, Name = "りんご", Amount = 20}, new Item { ID = 2, Name = "みかん", Amount = 5}, new Item { ID = 3, Name = "ぶどう", Amount = 10}, };
その時に、以下のような結果を取得したいと考えています。
りんご,みかん,ぶどう
コードは以下の通り。
var result = string.Join(",", items.Select(i => i.Name));
また、Amountの値を条件として抽出する場合は、Whereメソッドを追加します。
var result = string.Join(",", items.Where(i => i.Amount > 5).Select(i => i.Name));
結果
りんご,ぶどう