मैंने पहले कई लैम्ब्डा अभिव्यक्तियों का उपयोग नहीं किया है और मैं ऐसे मामले में भाग गया जहां मैंने सोचा कि मैं एक का उपयोग कर सकता हूं। मेरे पास ~ 1 9, 000 रिकॉर्ड की एक कस्टम सूची है और मुझे यह पता लगाने की ज़रूरत है कि सूची में कोई रिकॉर्ड मौजूद है या नहीं, इसलिए सूची में जाने के लिए लूप का एक समूह लिखने या लिनक का उपयोग करने के बजाय मैंने इसे आजमाने का फैसला किया:सी # लैम्ब्डा अभिव्यक्ति स्पीड
for (int i = MinX; i <= MaxX; ++i)
{
tempY = MinY;
while (tempY <= MaxY)
{
bool exists = myList.Exists(item => item.XCoord == i && item.YCoord == tempY);
++tempY;
}
}
निष्पादित करने में केवल 9 -11 सेकेंड लगते हैं। क्या मैं कुछ गलत कर रहा हूं क्या यह सिर्फ एक मामला है जहां मुझे इस तरह की अभिव्यक्ति का उपयोग नहीं करना चाहिए?
धन्यवाद।
संपादित करें: क्षमा करें। मुझे विस्तार करना चाहिए। मैं लूप के लिए रिकॉर्ड के साथ एक सूची बना रहा हूं और जांच कर रहा हूं कि यह रिकॉर्ड मेरी सूची में मौजूद है या नहीं। यही एकमात्र तरीका है जिसके बारे में मैं सोचने के बारे में सोच सकता हूं। मैं इसका पुनर्मूल्यांकन करूंगा और देख सकता हूं कि मैं क्या कर रहा हूं।
आप इसे तेजी से क्यों उम्मीद करेंगे? यह किसी भी प्रकार की इंडेक्सिंग या सॉर्टिंग के बिना घोंसला वाली खोज है। –
मुझे नहीं लगता कि नीचे वोट आवश्यक है। यह एक दिलचस्प समस्या है, हालांकि खराब शब्द। – kervin
बाहरी लूप लूप के लिए क्यों है, लेकिन अंदरूनी एक लूप? – Ponkadoodle