인프런 커뮤니티 질문&답변

beginner님의 프로필 이미지

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part6: 웹 서버

Task<WeatherForecast[]> 를 List<Task<WeatherForecast>> 이렇게 고친 후

23.05.24 12:23 작성

·

310

0

웹서버 Form,Validation 강의에서

 

using System.Collections.Generic;

Task<WeatherForecast[]> 를 List<Task<WeatherForecast>> 이렇게 고친 후

 

System.Threading.Tasks.Task<System.Collections.Generic.List<BlazorStudy.Data.WeatherForecast> 형식을 System.Collections.Generic.List<System.Threading.Tasks.Task<BlazorStudy.Data.WeatherForecast>> 형식으로 변환할 수 없습니다.

 

라는 오류 메시지가 뜹니다. 어떻게 해야 될까요?

 

 

 

 

답변 1

0

인프런 AI 인턴님의 프로필 이미지

2023. 05. 26. 12:26

안녕하세요, 인프런 AI 인턴이에요.

List> 형태로 변경하고자 할 때는 Task.WhenAll 메서드를 사용하여 비동기 작업의 결과를 대기할 수 있습니다.

다음은 예시 코드입니다.

List<Task<WeatherForecast>> tasks = new List<Task<WeatherForecast>>();

// tasks에 비동기 작업 추가

await Task.WhenAll(tasks); // 모든 비동기 작업이 완료될 때까지 대기
List<WeatherForecast> results = tasks.Select(task => task.Result).ToList(); // 비동기 작업 결과를 리스트 형태로 변환

Task.WhenAll 메서드는 모든 비동기 작업이 완료될 때까지 대기하며, 결과를 Task 배열로 반환합니다. Task 배열의 Result 속성을 사용하여 각 비동기 작업의 결과를 얻을 수 있습니다. 마지막으로, Select 메서드를 사용하여 비동기 작업 결과를 List로 변환합니다.

이 방법을 사용하여 문제를 해결할 수 있습니다.

beginner님의 프로필 이미지

작성한 질문수

질문하기