더북(TheBook)

제네릭 클래스에 사용자 정의 클래스 사용하기

List<T> 형태의 T에 사용자 정의 클래스를 매개변수로 사용할 수 있습니다. 이렇게 만든 제네릭 개체는 개체 이니셜라이저와 마찬가지로 컬렉션도 이니셜라이저로 컬렉션 개체를 생성할 때 바로 특정 요소로 초기화할 수 있습니다. 또 다른 컬렉션 이니셜라이저 예제를 살펴보겠습니다. 다음 코드의 이 컬렉션 이니셜라이저입니다.

> class Category
. {
.     public int CategoryId { get; set; }
.     public string CategoryName { get; set; }
. }
>
> //① 컬렉션 이니셜라이저를 사용하여 카테고리 리스트 만들기
> var categories = new List<Category>()
. {
.     new Category() { CategoryId = 1, CategoryName = "좋은 책" },
.     new Category() { CategoryId = 2, CategoryName = "좋은 강의" },
.     new Category() { CategoryId = 3, CategoryName = "좋은 컴퓨터" }
. };
>
> //② foreach 문으로 컬렉션 데이터를 출력
> foreach (var category in categories)
. {
.     Console.WriteLine($"{category.CategoryId} - {category.CategoryName}");
. }
1 - 좋은 책
2 - 좋은 강의
3 - 좋은 컴퓨터

이 코드는 카테고리를 다루는 모델 클래스인 Category 클래스의 인스턴스를 여러 개 담을 수 있는 List<T> 형태의 categories 컬렉션을 만들고 출력하는 간단한 예제입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.