C#에서 익명 타입(anonymous type)은 타입의 이름을 명시하지 않고도 데이터 구조를 정의할 수 있게 해주는데요, 주로 간단한 데이터 패키지를 만들 때 유용하며, LINQ 쿼리나 짧은 범위에서 사용할 수 있어요. 간단한 형식은 new {} 입니다~
var test = Enumerable.Range(1, 3).Select(x => new { Name = $"Test {x}", Id = x }).ToArray();
Enumerable.Range(1, 3)은 1부터 3까지의 정수를 생성하는 메서드입니다. 즉, 1, 2, 3이라는 값을 반환합니다.Select(x => new { Name = $"Test {x}", Id = x })는 각 숫자에 대해 익명 타입 객체를 생성하는 부분입니다.$"Test {x}"는x값을 포함하는 문자열을 만들어 줍니다. 예를 들어, x = 1일 때 { Name = "Test 1", Id = 1 }을 생성합니다.- 마지막으로
.ToArray()는 이 익명 타입 객체들의 컬렉션을 배열로 변환해 보았습니다.
이 코드의 결과로 다음과 같은 익명 객체들이 포함된 배열이 됩니다.
[
{ Name = "Test 1", Id = 1 },
{ Name = "Test 2", Id = 2 },
{ Name = "Test 3", Id = 3 }
]
익명 타입의 유용성은 데이터의 구조를 빠르게 정의하고 사용할 수 있다는 점에 있습니다. 다만 익명 타입은 메서드나 클래스 외부로 전달하기 어렵고, 주로 짧은 범위 내에서 사용되기 때문에 복잡한 로직에서는 신중히 사용하는 것이 좋아요.
간단한 다른 예시~
cmb.DataSource = Enumerable.Range(1, 3).Select(x => new { Name = $"Test {x}", Id = x }).ToList();
