15

मैं here से समझता हूं कि Task.Whenall के लिए कार्य निष्पादन आदेश निर्धारित नहीं है लेकिन मुझे परिणाम आदेश के बारे में कोई जानकारी नहीं मिल रही है।कार्य। जब सभी परिणाम

क्या परिणाम संग्रह में परिणाम उस क्रम में होते हैं जिसमें इनपुट या परिणामों में आदेश दिए गए कार्यों को किसी भी क्रम में किया जा सकता है?

मेरे द्वारा किए गए परीक्षणों से, ऐसा लगता है कि आदेश जारी है लेकिन मुझे एक पुष्टि की आवश्यकता है।

+0

क्या आप सही जवाब देने के लिए कृपया कुछ कोड डाल सकते हैं –

उत्तर

50
MSDN से

:

Task.WhenAll<TResult>(IEnumerable<Task<TResult>>) 

यह चार का ही अधिभार जो इस बयान शामिल है:

कार्यों में से कोई भी गलती और कार्यों में से कोई भी रद्द कर दिया गया है, तो जिसके परिणामस्वरूप कार्य RanToCompletion राज्य में खत्म हो जाएगा। लौटे काम का परिणाम एक सरणी उसी क्रम में आपूर्ति की कार्य की परिणाम के सभी युक्त करने के लिए स्थापित किया जाएगा के रूप में वे (जैसे यदि इनपुट कार्यों सरणी T1, T2, t3 निहित, उत्पादन प्रदान किया गया कार्य का परिणाम एक ट्रेशल्ट लौटाएगा [] जहां arr [0] == t1.Result, arr 1 == t2.Result, और arr [2] == t3.Result)।

+3

इसे सही उत्तर के रूप में चिह्नित किया जाना चाहिए। – Will

+0

@Will हां, यह शर्म की बात है कि कई सवाल लेखक उत्तर को सही के रूप में चिह्नित करने के लिए समय नहीं लेते हैं ... – Robba

+0

बस मेरे जैसे इसे पढ़ने वाले लोगों के लिए स्पष्ट होना, ओवरलोड 'कार्य। जब सभी विधि (कार्य []) 'एक ही कथन भी शामिल है। –

संबंधित मुद्दे