Anonymous Type은 공식적으로 클래스를 정의할 필요 없이 Type을 간단히 임시로 만들어 사용할 때 유용하다.
특히 Anonymous Type은
LINQ를 사용할 때 많이 사용된다.
아래 예제는 LINQ의 Where() 메서드를 이용해 특정 조건의 데이타를 찾은 후,
Select() 메서드를 사용하여 일부 컬럼들로만 구성된 새 익명 타입을 만들어 리턴하는 예를 보여주고 있다.
예제
private void RunTest()
{
var v = new[] {
new { Name="Lee", Age=33, Phone="02-111-1111" },
new { Name="Kim", Age=25, Phone="02-222-2222" },
new { Name="Park", Age=37, Phone="02-333-3333" },
};
// LINQ Select를 이용해 Name과 Age만 갖는 새 익명타입 객체들을 리턴.
var list = v.Where(p => p.Age >= 30).Select(p => new { p.Name, p.Age });
foreach (var a in list)
{
Debug.WriteLine(a.Name + a.Age);
}
}