728x90
반응형
C#에서 var tasks = new List<Task>();은
Task 클래스를 사용하여 제네릭 리스트를 생성하는 코드입니다.
Task 클래스는 비동기 작업을 나타내는 클래스로,
Task 클래스를 사용하여 비동기 작업을 만들고 실행할 수 있습니다.
var 키워드는 컴파일러가 변수의 형식을 추론하도록 하는 역할을 합니다.
위 코드에서는 var 키워드로 변수 tasks를 선언하고, List<Task> 클래스로 제네릭 리스트를 생성하여
변수 tasks에 할당합니다.
예를 들어,
Task 클래스를 사용하여 비동기 작업을 만들고 리스트에 추가하려면 다음과 같이 코드를 작성할 수 있습니다.
var tasks = new List<Task>(); // Task 타입의 데이터를 저장하는 리스트 생성
// Task 객체 생성 후 리스트에 추가
Task task1 = Task.Run(() => Console.WriteLine("Task 1 실행"));
Task task2 = Task.Run(() => Console.WriteLine("Task 2 실행"));
tasks.Add(task1);
tasks.Add(task2);
위 코드에서 Task.Run() 메서드를 사용하여 Task 객체를 생성하고,
Add() 메서드를 사용하여 리스트에 Task 객체를 추가합니다.
List<Task> 클래스는 다양한 메서드와 속성을 제공합니다.
몇 가지 예를 들어보면:
// 리스트에 저장된 Task 객체 실행
foreach (var task in tasks)
{
task.Start();
}
// 모든 Task가 완료될 때까지 대기
Task.WaitAll(tasks.ToArray());
// 모든 Task의 결과를 가져와서 처리
foreach (var task in tasks)
{
if (task.IsCompleted)
{
Console.WriteLine("Task 완료: " + task.Result);
}
}
위 코드에서 Start() 메서드를 사용하여 리스트에 저장된 Task 객체를 실행합니다.
WaitAll() 메서드를 사용하여 모든 Task 객체가 완료될 때까지 대기하고,
Result 속성을 사용하여 Task 객체의 결과를 가져와서 처리합니다.
728x90
반응형
'C#' 카테고리의 다른 글
C# Winform Label 배경 투명하게 처리하기 (UserControl 위에 Label이 표시될 경우) (1) | 2022.01.26 |
---|---|
일본어 - で,に,へ - 헷갈리는 で(데, De)의 뜻, 사용법, 의미 자세히 알아보기 (0) | 2022.01.15 |
c# 닷넷기초 상수 - 예약어 Const (상수는 값이 바뀌지 않는다) (0) | 2022.01.14 |
C# 닷넷 기초 - 변수와 메모리의 이해2 : 값형식과 참조 형식(스택stack, 힙heap 메모리) / 개발자 기술 면접에서 꼭 나오는 질문 (0) | 2022.01.06 |
C# 닷넷 기초 - 변수와 메모리의 이해1 : 변수 (스택stack, 힙heap 메모리) / 개발자 기술 면접에서 꼭 나오는 질문 (0) | 2022.01.05 |
댓글