Я хотел бы получить несколько советов о том, как я могу построить дерево из списка элементов в эффективном способеПостроение дерева из списка предметов
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
}
В результате я ожидаю есть каждый элемент, находясь в его список
Не обязательно, используя тот же класс Item SubItems родителя, потому что Идентификаторы будут излишними, то
Является ли это домашнее задание, так как эта структура стала горячей темой. http://stackoverflow.com/questions/10878268/recursive-reading-of-listobject, http://stackoverflow.com/questions/10827237/how-to-create-objects-with-retrieved-hierarchical-result-set –
Это не домашнее задание, я не прошу решения, я прошу некоторых предложений, что было бы самым эффективным способом его решения. – Jeff
Каков ваш * неэффективный способ, который заставляет вас искать эффективный? –