मेरे पास एक ही ऑब्जेक्ट प्रकार लौटने वाले कई कार्य हैं जिन्हें मैं Task.WhenAll(new[]{t1,t2,t3});
का उपयोग करके कॉल करना चाहता हूं और परिणाम पढ़ सकता हूं।कार्य से परिणाम प्राप्त करें। जब सभी
जब मैं
Task<List<string>> all = await Task.WhenAll(new Task[] { t, t2 }).ConfigureAwait(false);
का उपयोग कर की कोशिश मैं एक संकलक त्रुटि
परोक्ष
'System.Threading.Tasks.Task<System.Collections.Generic.List<string>>
दोनों कार्यों को समान विधि बुला रहे हैं करने के लिए प्रकार 'शून्य' कनवर्ट नहीं कर सकता मिल इस ।
private Task<List<string>> GetFiles(string path)
{
files = new List<string>();
return Task.Run(() =>
{
//remove for brevity
return files;
});
}
आप [WhenAll] के लिए MSDN नमूना के कौन से भाग कृपया स्पष्ट कर सकते हैं (https://msdn.microsoft.com/en-us/library/hh194766%28v=vs.110%29.aspx) नहीं है स्पष्ट? जवाब देने के लिए सवाल आसान बना देगा। –
वास्तव में कोई भी लेख स्पष्ट नहीं है। यह स्पष्ट नहीं है कि यह शून्य कहां से आ रहा है। – user3373870
मुझे लगता है - जैसा कि माइक हिक्सन ने बताया कि आपके पास 'कार्य' के बजाय 'कार्य' (कार्य जो मूल्य नहीं लौटाता है) की सूची है - इसलिए 'शून्य' में परिणाम का इंतजार है। आम तौर पर आप इस तरह के मुद्दों से बचने के लिए शॉर्टकट सरणी सिंटैक्स का उपयोग करके प्रकार निर्दिष्ट नहीं करते हैं - 'पूछें। जब सभी (नया [] {टी, टी 2}) ... '। या MSDN नमूने में दिखाए गए कार्यों की सही टाइप की गई सूची/सरणी का उपयोग करें - 'var task = new list >(); '। –