c# - Grouping and flattening list with linq and lambda -
मैं निम्नलिखित वर्ग है
सार्वजनिक वर्ग SolicitacaoConhecimentoTransporte {सार्वजनिक लंबे आईडी {मिल; सेट; } सार्वजनिक स्ट्रिंग CodigoOriginal {get; सेट; } सार्वजनिक तिथि समय डेटा {प्राप्त; सेट; } सार्वजनिक सूची से & lt; CaixaConhecimentoTransporte & gt; कैएक्सस {प्राप्त करें; सेट; }}
मैं अगर वहाँ (लैम्ब्डा अभिव्यक्ति वाक्य रचना के साथ) LINQ का उपयोग कर नीचे कोड का एक ही व्यवहार achiveing का एक तरीका है जानना चाहते हैं,
<कोड > सूची से & lt; SolicitacaoConhecimentoTransporte & gt; auxList = नई सूची के & lt; SolicitacaoConhecimentoTransporte & gt; (); अग्रवाल (लिलिटाकाओ कॉन्सेसिन्टोम ट्रांस्पोर्ट्स एस लिस्टे सोलिएटाकाओ में) {सॉलिटेकाको कॉन्सेसिन्टोम ट्रांसस्पोर्ट्स की मौजूदा = ऑक्सिलिस्ट। फर्स्टऑर डीफॉल्ट (एफ = & gt; एफ.कोडिगोऑरिनल == एस। कोडीगोऑरिनल & amp; एफ.डेटा == एस। डेटा एंड amp। एफआईआईडी == एस आईडी); अगर (मौजूदा == नल) {auxList.Add (s); } और {मौजूदा। कैयक्सस। एडरेंज (एस। कैएक्सस); }} वापसी auxList;
दूसरे शब्दों में, समूह सभी संस्थाओं में बराबर गुण और फ्लैट सभी सूचियों है कि में।
अग्रिम धन्यवाद।
गुमनाम वस्तु समूह में तीन गुण से उपयोग करें। फिर नए SolicitacaoConhecimentoTransporte
उदाहरण के लिए प्रत्येक समूह परियोजना। नई {s;
listaSolicitacao.GroupBy (रों = & gt: CaixaConhecimentoTransporte प्रत्येक समूह से की चपटा अनुक्रम पाने के लिए Enumerable.SelectMany का प्रयोग करें। CodigoOriginal, s.Data, s.ID}) .Select (छ = & gt; नई SolicitacaoConhecimentoTransporte {आईडी = g.Key.ID, डाटा = g.Key.Data, CodigoOriginal = g.Key.CodigoOriginal, Caixas = g.SelectMany (रों = & gt; s.Caixas) .ToList ()}) ToList ()
Comments
Post a Comment