2008-09-16 13 views
8

द्वारा एक सूची को विभाजित करें उम्मीद है कि एक और आसान उम्मीद है।विशिष्ट तिथि

चलो कहते हैं कि मैं इस तरह एक संग्रह है दो:

List<DateTime> allDates; 

मैं चालू करने के लिए है कि

List<List<DateTime>> dividedDates; 

जहां 'dividedDates' में प्रत्येक सूची 'allDates' में तारीखों के सभी शामिल हैं में चाहते हैं कि एक विशिष्ट वर्ष से संबंधित है।

क्या LINQ चालबाजी का थोड़ा सा हिस्सा है कि मेरा थका हुआ दिमाग अभी नहीं निकल सकता है?

समाधान

स्वीकृत जवाब सही है।

धन्यवाद, मुझे नहीं लगता कि मुझे ग्रुपबी के 'इन' बिट के बारे में पता था और मैं सिंटैक्स जैसे एसक्यूएल की बजाय .GroupBy() प्रकार के तरीकों का उपयोग करने की कोशिश कर रहा था। और ToList() संशोधन की पुष्टि करने और स्वीकृत उत्तर में इसे शामिल करने के लिए धन्यवाद :-)

उत्तर

8
var q = from date in allDates 
     group date by date.Year into datesByYear 
     select datesByYear.ToList(); 
q.ToList(); //returns List<List<DateTime>> 
+0

धन्यवाद! यदि मैं गलत हूं तो कृपया ToList() आवश्यकताओं के बारे में प्रश्न में मेरी छोटी टिप्पणी देखें :-) –

+0

फिक्स्ड और परीक्षण –

7

यहां विधियों का फॉर्म है।

 
allDates 
    .GroupBy(d => d.Year) 
    .Select(g => g.ToList()) 
    .ToList(); 
+0

हे मैं कसम खाता हूं कि मैंने ऐसा कुछ करने की कोशिश की :-) धन्यवाद हालांकि! –

+0

धन्यवाद! मैंने इसका इस्तेमाल किया और यह अच्छी तरह से काम करता है। – VoodooChild

संबंधित मुद्दे