कुल डेल्टा नहीं बल्कि प्रत्येक तत्व का डेल्टा। यहाँ समझाने के लिए मैं क्या मतलब है कुछ कोड है:क्या मुझे LINQ में दो IENumerables का डेल्टा मिल सकता है?
var deltaTotals = _deltaEnumerable.Select(a => a.Amount).ToList();
var oldTotals = _totalsEnumerable.Select(d => d.Amount).ToList();
// trigger change in _totalsEnumerable
// ** can LINQ do the lines below
var newTotals = totalsEnumerable.Select(d => d.Amount);
for (var i = 0; i < 7; i++) {
var newAmount = oldTotals[i] - deltaTotals[i];
Assert.That(newTotals.ElementAt(i), Is.EqualTo(newAmount));
}
यह कोड के अंतिम चार लाइनें लग रहे है कि किसी तरह LINQ में करने के लिए एक और अधिक सुरुचिपूर्ण तरीका हो सकता है की तरह है।
चीयर्स,
Berryl
कूल। ज़िप मुझे सबसे अधिक इरादे से प्रकट करने वाले नाम की तरह प्रतीत नहीं होता है लेकिन कम से कम यह छोटा है। जब मैंने पहली बार आपका जवाब देखा तो मैंने सोचा कि यह एक डाउनलोड था! चीयर्स – Berryl
सच है, यह दुनिया में सबसे अधिक खोजने योग्य नाम नहीं है। मुझे लगता है कि एरिक लिपर्ट ने इस शब्द को बनाया: http://blogs.msdn.com/ericlippert/archive/2009/05/07/zip-me-up.aspx। किसी भी तरह से, यह एक उपयोगी विस्तार है। :) – Aaronaught
नाम कार्यात्मक भाषाओं से आता है। इसे ऐसा कहा जाता है क्योंकि यह एक जिपर की तरह काम करता है। डिफ़ॉल्ट रूप से इसे फॉर्म टुपल्स की तरह कुछ करना चाहिए जहां पहला तत्व सूची 1 से दूसरे 2 से आता है। – flq