제네릭 클래스에 사용자 정의 클래스 사용하기
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 컬렉션을 만들고 출력하는 간단한 예제입니다.