반응형
오늘은 C#에서 List<object>를 특정 클래스 타입의 List로 캐스팅하는 방법에 대해 알아보겠습니다. 가끔 우리는 List<object>에 특정 클래스 타입의 객체만 포함되어 있다는 것을 알고 있지만, 이를 해당 클래스 타입의 List로 변환해야 하는 상황이 있습니다. 이 경우, LINQ를 사용하여 쉽게 캐스팅할 수 있습니다.
예를 들어, ImageData라는 클래스 타입의 객체만 포함된 List<object>가 있다고 가정해봅시다. 이제 이 List<object>를 List<ImageData>로 캐스팅하고자 합니다.
먼저, 필요한 네임스페이스를 추가합니다.
using System.Collections.Generic;
using System.Linq;
다음으로, 이미 존재하는 List<object>를 List<ImageData>로 변환하기 위해 LINQ의 OfType<T> 메서드를 사용합니다.
List<object> objList = new List<object>
{
new ImageData(),
new ImageData(),
// ...
};
List<ImageData> imageDataList = objList.OfType<ImageData>().ToList();
위의 코드에서, OfType<ImageData>() 메서드는 objList의 모든 요소 중 ImageData 타입의 요소만 추출합니다. 이후, ToList() 메서드를 사용하여 이를 새로운 List<ImageData> 객체로 변환합니다.
이렇게 간단한 몇 줄의 코드로 List<object>를 특정 클래스 타입의 List로 캐스팅할 수 있습니다. LINQ는 C#에서 데이터를 처리하는 데 매우 유용한 도구이므로, 다양한 쿼리 작업을 수행할 때 적극 활용해보시길 바랍니다.
반응형
'프로그래밍 > C#' 카테고리의 다른 글
[C#] Log4net을 이용한 Logger 구현 (0) | 2023.04.18 |
---|---|
[C#] MessagePack-CSharp을 이용한 고성능 객체 직렬화 및 역직렬화 (0) | 2023.04.14 |
[C#] Class & Struct Performance Test (0) | 2022.12.13 |
[C#] Oracle Bulk Insert (0) | 2022.04.01 |
[C#] Newtonsoft JsonConverter 사용하기 (0) | 2022.03.30 |