द्वारा अप्रैल को द्वारा और निवास-स्थान में समूह महीने, Ie Q1 जनवरी एक LINQ समूह ऐसा करने के लिए क्या यह संभव है आदि आदिLinq समूह माह तिमाहियों
उत्तर
कुछ इस
Enumerable.Range(1,12)
.Select(o => new DateTime(DateTime.Today.Year, o, 1))
.GroupBy(o => (o.Month - 1)/3)
हाँ, यह एसक्यूएल GroupBy कार्य करने के लिए LINQ के साथ प्राप्त किया जा सकता है अगर आप को परिभाषित qouters कहीं भी आपके डेटाबेस में या आप कुछ कोड लिख सकते हैं जो इस क्रिया को संभाल लेंगे यह सब इस आधार पर निर्भर करता है कि इस मूल्यांकन के लिए आपके लिए कौन सा डेटा उपलब्ध है।
की तरह आप विधि और GroupBy चयन की एक अधिभार का उपयोग कर भागों में एक मनमाना सूची विभाजित कर सकते हैं। आपके मामले में, सूची में महीने संभालने सही क्रम में हैं, निम्न कार्य करना चाहिए:
var groups = yourList
.Select((item, index) => new { item, index })
.GroupBy(indexedItem=>indexedItem.index/3);
अच्छा उदाहरण लेकिन क्या होगा यदि उसके महीने कालक्रम क्रम में नहीं हैं –
@COLDTOLD: तो liho1eye या आपका उत्तर बेहतर काम करेगा: डी हो सकता है – saus
यहाँ एक बुनियादी उदाहरण इस प्रदर्शन है:
var dates = new[]
{
new DateTime(2011, 12, 25),
new DateTime(2011, 11, 25),
new DateTime(2011, 5, 4),
new DateTime(2011, 1, 3),
new DateTime(2011, 8, 9),
new DateTime(2011, 2, 14),
new DateTime(2011, 7, 4),
new DateTime(2011, 11, 11)
};
var groupedByQuarter = from date in dates
group date by (date.Month - 1)/3
into groupedDates
orderby groupedDates.Key
select groupedDates;
foreach(var quarter in groupedByQuarter)
{
Console.WriteLine("Q: {0}, Dates: {1}", quarter.Key, string.Join(", ", quarter));
}
द्वारा आदेश बस मदद करने के लिए है तिमाहियों को तार्किक रूप से आदेश दिया जाना चाहिए। आप समूह विवरण के बाद पूरे खंड को हटा सकते हैं।
के उत्पादन के साथ:
Q: 0, Dates: 1/3/2011 12:00:00 AM, 2/14/2011 12:00:00 AM
Q: 1, Dates: 5/4/2011 12:00:00 AM
Q: 2, Dates: 8/9/2011 12:00:00 AM, 7/4/2011 12:00:00 AM
Q: 3, Dates: 12/25/2011 12:00:00 AM, 11/25/2011 12:00:00 AM, 11/11/2011 12:00:00 AM
जाहिर है आप जोड़ने या शायद उन्हें एक इसी enum में अनुवाद द्वारा तिमाही संख्या सही करने के लिए की आवश्यकता होगी।
- 1. LINQ समूह माह प्रश्न द्वारा
- 2. समूह LINQ
- 3. समूह आइटम और LINQ
- 4. सपाट Linq समूह क्वेरी
- 5. LINQ सशर्त समूह
- 6. क्रमबद्ध और समूह LINQ
- 7. डायनामिक LINQ समूह एकाधिक कॉलम
- 8. परिणाम के बाद ऑर्डर समूह द्वारा LINQ समूह
- 9. प्रति माह
- 10. LINQ समूह एकाधिक क्षेत्रों तक मदद -Syntax
- 11. गिनती समूह का उपयोग करके Linq
- 12. LINQ समूह एकाधिक पैरामीटर के साथ
- 13. समूह के आधार पर, योग LINQ
- 14. LINQ से SQL - घंटों तक समूह
- 15. LINQ - समूह विशिष्ट प्रकार के वर्ग
- 16. वर्ष, माह और दिन
- 17. किसी निश्चित वर्ष/माह
- 18. जावास्क्रिप्ट माह अंतर
- 19. वर्ष, माह और दिन
- 20. माईएसक्ल: प्रति माह रिकॉर्ड (शून्य सहित)
- 21. एसक्यूएल समूह के आधार पर - डालने पर प्रति माह/वर्ष, त्रुटि गिनती रिकॉर्ड - नहीं मान्य महीना
- 22. जेपीए क्वेरी माह/वर्ष फ़ंक्शन
- 23. उद्देश्य-सी: सप्ताह + माह नाम
- 24. UIDatePicker केवल माह और दिन
- 25. चालू माह और तारीख jQuery
- 26. LINQ:
- 27. NHibernate Linq समूह के आधार पर ठीक से एसक्यूएल सर्वर में समूह में विफल रहता है
- 28. सी # LINQ से ऑब्जेक्ट्स: समूह द्वारा/Sum सहायता
- 29. LINQ से डेटासेट: डेटा तालिका पर एकाधिक समूह
- 30. LINQ समूह के आधार पर का चयन करें और संग्रह
अच्छा, बहुत खुश है कि आप इसके लिए समाधान बनाने के लिए पूर्णांक जादू का उपयोग कर सकते हैं! – Jackstine