私はLinqが初めてです。これが最善の方法なのか、それとも他の方法があるのか知りたいです。
Web サービスからアイテムのリストを受け取るという要件があります。
class Item {
string ItemName { get; set;}
string GroupName { get; set; }
}
次のデータを受け取ります。
ItemName: Item1; GroupName: A
ItemName: Item2; GroupName: B
ItemName: Item3; GroupName: B
ItemName: Item4; GroupName: A
ItemName: Item5; GroupName: A
ここで、リスト内の一意のグループをすべて取得し、すべての項目をそのグループに関連付けたいと考えています。だから私はクラスを作りました:
class Group {
string GroupName { get; set; }
List<string> Items { get; set; }
}
単一のグループがあり、関連するすべてのアイテムがリストの下にあるようにします。
2 つの LINQ ステートメントを作成しました。
var uniqueGroups = (from g in webservice
where g.Group != null
select g.GroupName).Distinct();
それから私はそれをループします
foreach (var gn in uniqueGroups)
{
var itemsAssociated = (from item in webservice
where item.GroupName = gn.ToString()
select new {
});
}
アイテムを取得し、オブジェクトに保存します。
これはこれを行うための最良の方法ですか、またはこれらすべてを一度に実行できるLINQステートメントはありますか?
ありがとう。