nHibernate के लिए धन्यवाद, मैं जिन डेटा संरचनाओं के साथ काम करता हूं वे सूचियों के भीतर सूचियों के भीतर सूचियां हैं। तो उदाहरण के लिए मेरे पास "श्रेणी" नामक एक डेटा ऑब्जेक्ट है जिसमें एक है। हल्की संपत्ति जो श्रेणियों की सूची में हल होती है ... जिनमें से प्रत्येक में बच्चे हो सकते हैं ... और इसी तरह से।एक बयान के साथ एक पेड़ (सूचियों की सूची) flatten?
मुझे इस संरचना में शीर्ष-स्तरीय श्रेणी में शुरू करने और पूरी संरचना में सभी बच्चों के समान सूची या सरणी या कुछ प्राप्त करने का एक तरीका ढूंढना है - इसलिए सभी बच्चों के सभी बच्चे इत्यादि, एक सूची में चपटा।
मुझे यकीन है कि इसे रिकर्सन के साथ किया जा सकता है, लेकिन मुझे रिकर्सिव कोड को दर्द करने के लिए दर्द मिलता है, और मुझे विश्वास है कि लिंक 4 या किसी भी सुझाव का उपयोग करके नेट 4 में एक और सीधा तरीका होना चाहिए - कोई सुझाव?
एक पेड़ को सपाट करना स्वाभाविक रूप से पुनरावर्ती लगता है। मुझे विश्वास नहीं है कि LINQ के साथ भी एक पेड़ को फटकारने का एक ही कथन तरीका है। क्या आप एक रिकर्सिव उत्तर स्वीकार करेंगे? – climbage
निश्चित रूप से। यह उन चीजों में से एक है जो ऐसा लगता है कि एक "आसान" जवाब होना चाहिए।लिंक "selectMany" एक पेड़ के दो स्तरों को चपटा देगा, लेकिन मुसीबत यह है कि मेरे पास यह जानने का कोई तरीका नहीं है कि जब मैं शुरू करता हूं तो मेरे ऑब्जेक्ट में मुझे कितने स्तर मिलते हैं। तो मुझे लगता है कि रिकर्सन जाने का एकमात्र तरीका है। –