के साथ किसी सूची में दिए गए ऑब्जेक्ट की संख्या की संख्या मेरे पास एक सूची है जिसमें एक ही ऑब्जेक्ट की कई घटनाएं हो सकती हैं। अब मुझे गिनने की जरूरत है, इस सूची में दी गई वस्तु कितनी बार निहित है।LINQ
int count = 0;
foreach (IMyObject item in myList)
if (item == object2Count)
count++;
मुझे यकीन है कि यह LINQ के साथ अच्छा किया जा सकता है, लेकिन LINQ अभी भी मेरे लिए एक रहस्य है।
मेरा पहला सवाल यह है कि: मैं LINQ के माध्यम से वस्तुओं को कैसे गिनता हूं और दूसरा प्रश्न: क्या यह LINQ संस्करण धीमा या तेज़ होगा? मैं आमतौर पर अपेक्षाकृत छोटे ... आम तौर पर नहीं तो और अधिक 20.
अग्रिम धन्यवाद,
फ्रैंक है एक ObservableCollection और सूची में आइटम्स की संख्या का उपयोग कर रहा
उत्तर के लिए धन्यवाद। अब जब मैं जवाब देखता हूं, ऐसा लगता है कि यह स्पष्ट है: डी। मेरे भविष्य के लिए, इसके बारे में अजीब बात क्या है और आप इसे किसी अन्य तरीके से लिखने का सुझाव कैसे देंगे? – Aaginor
@Aaginor: यदि '==' संदर्भ समानता का उपयोग कर रहा है और आप संग्रह 'गणना' में एक से अधिक बार एक ही उदाहरण को स्टोर नहीं करते हैं तो 0 या 1 होगा। तो मूल रूप से आप यह निर्धारित कर रहे हैं कि 'object2Count' संग्रह से संबंधित है या नहीं । 'किसी भी' एक्सटेंशन विधि का उपयोग करने के लिए और अधिक कुशल तरीके हैं। यदि दूसरी तरफ आपने '==' ऑपरेटर को ओवरराइड किया है तो आपका भविष्य ठीक है। –
मैं संग्रहित करने के लिए एक डुप्लिकेट ऑब्जेक्ट नहीं बनाता, लेकिन एक ही संदर्भ को कई बार संग्रहीत करता हूं। (IMyObject o = new MyObject(); myList.Add (o); myList.Add (o);) (या कम से कम मुझे विश्वास है कि मैं एक ही ऑब्जेक्ट स्टोर करता हूं: डी) – Aaginor