c# - Find index of last occurrence of each distinct zipcode in collection -


एक वर्ग को देखते हुए:

  सार्वजनिक वर्ग डेटा {सार्वजनिक स्ट्रिंग नाम {get; सेट; } सार्वजनिक स्ट्रिंग लिंग {प्राप्त; सेट; } सार्वजनिक स्ट्रिंग ज़िपकोड {प्राप्त; सेट; }}  

और नीचे दी गई सूची दी है जहां तीन अलग-अलग ज़िपकोड हैं: ["21112", "21046", "21075"]

< पूर्व> var आइटम = नई सूची & lt; डेटा & gt; नया डेटा {name = "bob", gender = "male", zipcode = "21112"} नया डेटा {name = "sarah", लिंग = "महिला", ज़िपकोड = "21046"} नया डेटा {name = "steven नया डेटा {name = "karen", gender = "female"}, नया डेटा {name = "joe", gender = "male", zipcode = "21046"}, नया डेटा {name = "male", zipcode = "21112"} ज़िप कोड = "21075"}}

अगर मैं सूची को ज़िपकोड से ऑर्डर करता हूं, तो कैसे मैं पिछले घटना के सूचकांक (संग्रह में किसी वस्तु का शून्य-आधारित सूचकांक) पा सकते हैं प्रत्येक विशिष्ट ज़िपकोड:

  items.OrderBy (i = & gt; i.zipcode) ??  

मुझे सूचकांक की आवश्यकता है क्योंकि मुझे प्रत्येक सूचकांक के बाद एक आइटम सम्मिलित करने की आवश्यकता है I मुझे डेटा का संग्रह मिलता है और मुझे इसे लौटने से पहले संशोधित करना होगा।

यह मानते हुए कि आपको दोनों ज़िप कोड और सूचकांक की आवश्यकता होगी, आप या तो एक अनाम प्रकार या ट्यूपल का उपयोग कर सकते हैं यहां पूर्व के साथ एक उदाहरण दिया गया है:

  items.GroupBy (i = & gt; i.zipcode)। चयन करें (सूची = & gt; नया {ज़िपकोड = सूची.लिस्ट ()। ज़िपकोड, अनुक्रमणिका = आइटम। सूचकांक (list.Last ())});  

यदि आप चाहते हैं कि आप क्वेरी समझ वाक्यविन्यास का उपयोग कर सकते हैं और आखिरी तत्व को निर्दिष्ट करने के लिए एक अनुच्छेद का उपयोग कर सकते हैं, ताकि LINQ संभवतया दो बार सूची पर पुनरावृति न करे

  var प्रविष्टि = आइटम आइटम आइटम में मद से item.zipcode में समूहित में अंतिम = समूहीकृत करें। पिछला () नया {ZipCode = last.zipcode, सूचकांक = आइटम चुनें। सूचकांक (अंतिम)};  

आपको मूल सूची को इंडेक्सस के साथ अपडेट करने की आवश्यकता होगी, जिससे आपको मूल तालिका को अद्यतन करने से पहले सम्मिलित किए जाने वाले सम्मिलन से पहले की आवश्यकता हो सकती है, या आप अपवाद। ऐसा करने के लिए बस क्लाउड के अंत में एक .ऑलिस्ट () जोड़ें।


Comments

Popular posts from this blog

Member with no value in F# -

java - Joda Time Interval Not returning what I expect -

c# - Showing a SelectedItem's Property -