効率的な方法で項目リストからツリーを構築する方法について、いくつかの提案を得たいと思います
public class Item
{
public Item(int id, int? parentId)
{
Id = id;
ParentId = parentId;
}
public int Id { get; private set; }
public int? ParentId { get; private set; }
public List<Item> SubItems { get; set; }
}
private Item BuildATree()
{
var items = new List<Item>()
{
new Item(1, null),
new Item(2, 1),
new Item(3, 1),
new Item(4, 1),
new Item(5, 2),
new Item(6, 2),
new Item(7, 4),
new Item(8, 7),
new Item(9, 1),
};
//Build a tree out of list items
}
私が期待している結果は、各アイテムがその親の SubItems リストにあることです
IDが冗長になるため、必ずしも同じItemクラスを使用する必要はありません