मैं डेटा संरचनाओं की एक सूची है:ऑब्जेक्ट का उपयोग करने के लिए लिंक के साथ पदानुक्रम कैसे बनाया जाए?
public List<Personal> Personals()
{
return new List<Personal>
{
new Personal
{
Id = 0,
Name = "Name 0"
},
new Personal
{
Id = 1,
Name = "Name 1",
ParentId = 0
},
new Personal
{
Id = 2,
Name = "Name 2",
ParentId = 0
},
new Personal
{
Id = 3,
Name = "Name 3",
ParentId = 0
},
new Personal
{
Id = 4,
Name = "Name 4",
ParentId = 1
},
new Personal
{
Id = 5,
Name = "Name 5",
ParentId = 1
},
new Personal
{
Id = 6,
Name = "Name 6",
ParentId = 2
},
new Personal
{
Id = 7,
Name = "Name 7",
ParentId = 2
},
new Personal
{
Id = 8,
Name = "Name 8",
ParentId = 4
},
new Personal
{
Id = 9,
Name = "Name 9",
ParentId = 4
},
};
}
और मैं एक पेड़ का निर्माण करना चाहते:
public List<Tree> Trees()
{
return new List<Tree>
{
new Tree
{
Id = 0,
Name = "Name 0",
List = new List<Tree>
{
new Tree
{
Id = 1,
Name = "Name 1",
List = new List<Tree>
{
new Tree
{
Id = 4,
Name = "Name 4"
},
new Tree
{
Id = 5,
Name = "Name 5"
}
}
}
}
}
};
}
कैसे आप आपत्ति उठाने LinQ के साथ एक पेड़ का निर्माण करते हैं? मैं उपयोग करने के लिए है, लेकिन यह वास्तव में काम नहीं करता है, नीचे देखें: यदि आपके रूट नोड एक है के लिए केवल इस कोड की जाँच करता ऊपर के रूप में
public void SomeMethod() {
// here you get your `list`
var tree = GetTree(list, 0);
}
public List<Tree> GetTree(List<Personal> list, int parent) {
return list.Where(x => x.ParentId == parent).Select(x => new Tree {
Id = x.Id,
Name = x.Name,
List = GetTree(list, x.Id)
}).ToList();
}
यदि आप जेनेरिक प्रकार के उपयोग के साथ एक पेड़ बनाना चाहते हैं, तो कृपया अपने उदाहरण साझा करें। धन्यवाद! – LazyCatIT