private async Task LoadAllData() { var n = this.JsonUrls.Count; var tasks = new Task <List <Stock> > [n]; var results = new List <Stock> [n]; // Create and start the tasks int k = 0; foreach (var market in JsonUrls.Keys) { var url = JsonUrls[market]; tasks[k] = WebController.GetStocksAsync(market, url); k++; } // Wait for each task to finish and populate stockList for (int i = 0; i < n; i++) { results[i] = await tasks[i]; foreach (var s in results[i]) { this.stockList[s.Id] = s; } this.UpdateLoadingPercentage(i + 1, n); } }
private async Task LoadAllData() { var n = this.JsonUrls.Count; var tasks = new Task <List <Stock> > [n]; var results = new List <Stock> [n]; // Create and start the tasks for (int i = 0; i < n; i++) { tasks[i] = WebController.GetStocksAsync(this.JsonUrls[i]); } // Wait for each task to finish and populate stockList for (int i = 0; i < n; i++) { results[i] = await tasks[i]; foreach (var s in results[i]) { this.stockList[s.Id] = s; } this.UpdateLoadingPercentage(i + 1, n); } // this.stockList = results.SelectMany(x => x).ToDictionary(s => s.Id, s => s); }