मुझे एक सूची (फ़ोल्डर का) एक पदानुक्रम में परिवर्तित करने में सबसे कठिन समय है।पदानुक्रम के लिए फ्लैट सूची
Public Class Folder
Public Property FolderID() As Integer
Public Property Name() As String
Public Property ParentFolderID() As Integer
Public Property Children() as IEnumerable(Of Folder)
End Class
मुझे बच्चों के साथ सूची (फ़ोल्डर का) वापस करने की आवश्यकता है।
मैं डेटाबेस में डेटा से एक सूची (फ़ोल्डर का) बनाता हूं।
{1, "फ़ोल्डर 1", कुछ भी नहीं है} {2, "फ़ोल्डर 2", 1} {3, "फ़ोल्डर 3", 2} {4, "फ़ोल्डर 4", 3} {5 , "फ़ोल्डर 5", कुछ भी नहीं}
मैं यह नहीं समझ सकता कि बच्चे के फ़ोल्डर्स को अपने माता-पिता की बच्चों की संपत्ति में दोबारा कैसे स्थानांतरित किया जाए।
मैं LINQ के साथ ऐसा करना चाहता हूं।
किसी भी मदद की बहुत सराहना की जाती है।
अद्यतन
अपने जवाब के लिए धन्यवाद, लेकिन काफी नहीं। आपके उत्तर के आधार पर, मैं इसके साथ आया जो लगभग काम करता है।
Root
--Child
Child
--Grand Child
Grand Child
तरह दिखना चाहिए::
Dim list = (From folder in folderList Select New Folder() With {
.FolderID = folder.FolderID,
.Name = folder.Name,
.ParentFolderID = folder.ParentFolderID,
.Children = (From child in folderList
Where child.ParentFolderID = item.FolderID).ToList()}).ToList()
{1, "Root", Nothing}
{2, "Child", 1}
{3, "Grand Child", 2}
मैं सभी तीन फ़ोल्डरों की एक सूची प्राप्त
Root
--Child
----Grand Child
ToLookup एक्सटेंशन का एक अच्छा उपयोग। –