번역/C# Notes for Professionals
34.2: 익명 (anonymous) 타입 생성하기
노초코
2021. 11. 22. 22:13
Section 34.2: 익명 (anonymous) 타입 생성하기
익명 (anonymous) 타입은 타입 이름이 주어지지 않기에, 이 타입의 변수들은 묵시적 타입 이름을 사용하게 된다 (var
).
var anon = new { Foo = 1, Bar = 2 };
// anon.Foo == 1
// anon.Bar == 2
만약 멤버 변수의 이름이 별도로 기술되지 않는 경우에는, 해당 객체를 초기화시킬 때 사용되었던 속성 혹은 변수의 이름으로 설정된다.
int foo = 1;
int bar = 2;
var anon2 = new { foo, bar };
// anon2.foo == 1
// anon2.bar == 2
유의할 점은, 이러한 익명 타입 선언에 사용된 표현식이 속성 접근과 같이 단순한 경우에만 생략이 가능하다는 것이다; 메소드 호출이나 혹은 더 복잡한 표현식을 사용하고자 하는 경우에는, 속성의 이름을 별도로 기술해 주어야 한다.
string foo = "some string";
var anon3 = new { foo.Length };
// anon3.Length == 11
var anon4 = new { foo.Length <= 10 ? "short string" : "long string" };
// "Invalid anonymous type member declarator" 컴파일 에러가 발생한다.
var anon5 = new { Description = foo.Length <= 10 ? "short string" : "long string" };
// 문제 없음
본 문서는 C# Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.
[출처] https://books.goalkicker.com/CSharpBook/
반응형