c# IGrouping में "मूल्य" संपत्ति प्राप्त करें




linq data-structures (4)

बस एक संबंधित टिप - चूंकि, अन्य उत्तरों ने कहा है, group.ElementAt(i) , यदि आपको किसी विशिष्ट इंडेक्स तक पहुंचने की आवश्यकता है तो आप समूह का उपयोग कर सकते हैं। group.ElementAt(i)

यह शायद बहुत से लोगों के लिए स्पष्ट है लेकिन उम्मीद है कि यह कुछ मदद करेगा!

मेरे पास डेटा संरचना है

public DespatchGroup(DateTime despatchDate, List<Products> products);

और मैं करने की कोशिश कर रहा हूँ ...

var list = new List<DespatchGroup>();

foreach (var group in dc.GetDespatchedProducts().GroupBy(i => i.DespatchDate))
{
    // group.Values is not correct... how do I write this?
    list.Add(new DespatchGroup(group.Key, group.Values);
}

मैं स्पष्ट रूप से IGrouping को समझ नहीं रहा क्योंकि मैं नहीं देख सकता कि वास्तव में समूह के भीतर डेटा रिकॉर्ड कैसे प्राप्त करें!


कोई Values गुण या समान नहीं है क्योंकि IGrouping<T> स्वयं मानों का अनुक्रमिक IEnumerable<T> अनुक्रम है। इस मामले में आपको बस इतना करना है कि अनुक्रम को एक सूची में परिवर्तित करें:

list.Add(new DespatchGroup(group.Key, group.ToList());

किसी भी चयनित समूह के लिए, आप कॉल कर सकते हैं

var selectedGroupValues=selectedGroup.SelectMany(x=>x);

समूह IEnumerable<T> लागू करता है - सामान्य मामले में, group पर केवल foreach कॉल करें। इस मामले में, चूंकि आपको एक List<T> :

list.Add(new DespatchGroup(group.Key, group.ToList());






igrouping