c# - How to get the deltas of a list collection -


मेरे पास एक सूची है।

1 2 3 4 5 6 7

मैं लगातार तत्वों के बीच अंतर (deltas) की एक सूची वापस करना चाहता हूं।

1 1 1 1 1 1

कैसे क्या मैं यह कर सकता हूं?

मुझे यकीन है कि ऐसा करने का एक सरल "संग्रह" तरीका होना चाहिए - लेकिन मुझे यह नहीं मिल रहा है।

आप एन्युमेरेबल। स्किप का उपयोग कर सकते हैं और सूचकांक की प्रोजेक्ट्स का अधिभार:

  सूची & lt; int & gt; DeltaList = list.Skip (1) // पहले छोड़ें, अप्रासंगिक। चयन करें ((num, index) = & gt; num - list [index]) सूचकांक 0 सूची में दूसरा नंबर है .ओलिस्ट ();  

चाल यही है कि छोड़ें (1) न केवल पहली संख्या को छोड़ देता है (जो वांछित है) परन्तु यह भी चुनें । प्रथम संख्या का अनुक्रमणिका 0 हो जाएगा, लेकिन यह सूची में दूसरी संख्या का उल्लेख करेगा ( छोड़ें (1) के कारण)। इसलिए num - list [index] पिछले संख्या के साथ वर्तमान को घटा देता है।


Comments