का उपयोग कर मैं एक LINQ नौसिखिया हूँ इसका इस्तेमाल करने की कोशिश कर रहा से एक प्रदान की सूचकांक सीमा के भीतर मान चुनने के लिए कैसे निम्नलिखित हासिल करने के लिए:एक सूची LINQ
मैं ints की एक सूची है: -
List<int> intList = new List<int>(new int[]{1,2,3,3,2,1});
अब, मैं LINQ का उपयोग कर पिछले तीन [इंडेक्स रेंज 3-5] के साथ पहले तीन तत्वों [इंडेक्स रेंज 0-2] के योग की तुलना करना चाहता हूं। मैं LINQ का चयन करने की कोशिश की और विस्तार के तरीकों के साथ-साथ SelectMany विधि ले लो, लेकिन मैं समझ नहीं की तरह कुछ
(from p in intList
where p in Take contiguous elements of intList from index x to x+n
select p).sum()
मैंने देखा भी विस्तार विधि शामिल में कैसे कहने के लिए है, लेकिन वह पाने के लिए नहीं देखा है मैं क्या चाहता हूँ कोई सुझाव? धन्यवाद।
ध्यान दें कि सूची .GetRange बड़ा संग्रह के लिए हालांकि अधिक योग्य होंगे: https: // icodeit। wordpress.com/2012/08/27/performance-of-skip-and-take-in-linq-to-objects/, http://geekswithblogs.net/BlackRabbitCoder/archive/2012/03/29/c.net -लिटल-चमत्कार-वगैरह-और-टेक.एएसपी –
nawfal
यह एक अच्छी, वैध, टिप्पणी है (इसलिए कुछ साल पहले वैध मैंने नीचे दिए गए उत्तर लेखक को ऊपर उठाया था), हालांकि ओपी ने विशेष रूप से LINQ के बारे में पूछा था आप फिर से नहीं कर सकते y आपके स्रोत के रूप में एक सूची की गारंटी देता है। यह प्रश्न में वास्तविक समस्या का सरलीकृत संस्करण हो सकता है, जहां सरलीकृत संस्करण केवल हार्ड कोड कोड (और वास्तव में किसी ऑब्जेक्ट ग्राफ़ या LINQ से SQL क्वेरी पर एक क्वेरी हो सकता है) हो सकता है। –