Example #1
0
        //Асинхронная версия с await
        public async Task <Forecast[]> GetForecastForAllCities2Async(City[] cities)
        {
            Forecast[] forecasts = new Forecast[cities.Length];
            using (WeatherService weather = new WeatherService())
            {
                for (int i = 0; i < cities.Length; ++i)
                {
                    forecasts[i] = await weather.GetForecastAsync(cities[i]);
                }
            }

            return(forecasts);
        }
Example #2
0
        //Синхронная версия
        public Forecast[] GetForecastForAllCities(City[] cities)
        {
            Forecast[] forecasts = new Forecast[cities.Length];
            using (WeatherService weather = new WeatherService())
            {
                for (int i = 0; i < cities.Length; ++i)
                {
                    forecasts[i] = weather.GetForecast(cities[i]);
                }
            }

            return(forecasts);
        }
Example #3
0
        //Асинхронная версия
        public Task <Forecast[]> GetForecastsForAllCitiesAsync(City[] cities)
        {
            if (cities.Length == 0)
            {
                return(Task.Run(() => new Forecast[0]));
            }

            WeatherService weather = new WeatherService();

            Forecast[] forecasts = new Forecast[cities.Length];
            var        resTsk    = GetForecastHelper(weather, 0, cities, forecasts);

            return(resTsk.ContinueWith(_ => forecasts));
        }