부모글 보이기/감추기 AD BLOCK 해제 요청 이 글에는 광고가 많이 들어가 있지 않습니다. adblock을 해제하셔도 글을 읽는데 그다지 부담이 없으니 해제를 부탁드립니다. (연관된 글이 1개 있습니다.) "Anonymous types"를 설명하기 전에, 예전에 RubyCLR을 소개해 드렸을 때 첨부했던 이미지를 한번 보겠습니다. 위의 구문 비교를 보고 있노라면 왠지, C# 사용자로서 오기가 발동합니다. 음... 아마도 이런 생각을 저만 한 것이 아니었나 봅니다. C# 3.0에 새로 추가된 "Anonymous type"에서 위의 Ruby와 유사한 문법을 지원해주고 있는 것입니다. 사용예를 한번 볼까요? C# 3.0: var Person = new { name = "", birthday = DateTime.MinValue, children = 0 }; Ruby : Person = Struct.new(:name, :birthday, :children) 사실, Anonymous type은 Ruby가 그 이유인 것은 아닌듯 합니다. 왜냐하면, 실제로 Linq를 표현하기 위해서도 필요하기 때문입니다. SQL 테이블에서 특정 컬럼만을 선별하여 반환하는 구문이 빈번하게 쓰이는 것을 볼 수 있는데요. 바로 그런 면에서 anonymous type이 유용하게 사용되어지고 있습니다. Linq와의 연관성에 대해서는 다음의 토픽을 참조하시는 것이 도움이 될 수 있겠습니다. C# 3.0의 새로운 기능들!!! - 5. Anonymous types ; http://blogs.msdn.com/heejaechang/archive/2006/04/28/586568.aspx 그러니까... 정리해 보면, C# 3.0의 많은 기능들이, Linq를 위해서 탄생되었다고 해도 무방할 것 같습니다. 마치, CLR 2.0에서도 안정성을 위해 추가된 부분들이 SqlCLR을 위해서 탄생했던 것처럼. [이 토픽에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.] [다음 글] Windows: 17. 보안 데스크톱에서 활성화되지 않은 UAC 창이 안전할까?[이전 글] .NET Framework: 77. C# 3.0 - Lambda 표현식 [연관 글] C# 언어 ... 좋은데... 정말 좋은데... 뭐라 표현할 말이 없네... ^^ [최초 등록일: 1/24/2007] [최종 수정일: 6/28/2021] 이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다. by SeongTae Jeong, mailto:techsharer at outlook.com 비밀번호 댓글 작성자 2007-05-15 09시01분 New "Orcas" Language Feature: Anonymous Types ; http://weblogs.asp.net/scottgu/archive/2007/05/15/new-orcas-language-feature-anonymous-types.aspx kevin25 ... 136 137 138 139 140 141 142 143 144 145 146 [147] 148 149 150 ... NoWriterDateCnt.TitleFile(s) 1378정성태11/22/201231657Java: 14. 안드로이드 - Hello World 실습 [7]1377정성태11/19/201225074.NET Framework: 344. 닷넷 프로파일러 - ICorProfilerInfo::GetILFunctionBody 함수 버그1376정성태11/15/201230298디버깅 기술: 51. 닷넷 응용 프로그램에서 특정 예외가 발생했을 때 풀 덤프 받는 방법 [6]1375정성태11/15/201226040디버깅 기술: 50. windbg의 mscordacwks DLL 로드 문제 - 두 번째 이야기1374정성태11/13/201224143개발 환경 구성: 175. Visual Studio의 "Extension Manager"에서 설치된 구성 요소들의 제거 버튼이 비활성화되었다면!1373정성태11/13/201224661.NET Framework: 343. VB.NET 어셈블리의 .NET Reflector 소스 코드를 분석할 때 알아두면 좋은 사항1372정성태11/1/2012119527Windows: 67. 64비트 윈도우에서 Internet Explorer 10이 항상 64비트로만 실행된다면? [57]1371정성태10/31/201227216.NET Framework: 342. Python의 zip과 with 문 context를 C#과 비교하면. [3]11370정성태10/31/201222463VS.NET IDE: 75. Visual Studio - "Active Solution Platform" 변경을 툴바에서 하는 방법1369정성태10/31/201235796개발 환경 구성: 174. 윈도우에서 Mono 개발 환경 구성 [4]1368정성태10/31/201227106개발 환경 구성: 173. Windows Phone SDK 8.0 설치1367정성태10/30/201234809개발 환경 구성: 172. IIS 7.5부터 지원되는 웹 사이트 자동 시작 모드 [1]1366정성태10/24/201226144개발 환경 구성: 171. GTK+를 윈도우 환경에 수작업 설치1365정성태10/24/201225005개발 환경 구성: 170. 우분투 데스크톱 Active Directory 가입하기 [2]1364정성태10/19/201221392Windows: 66. Hyper-V 2012에서 별도의 네트워크 카드를 이용한 Live Migration1363정성태10/16/201228864개발 환경 구성: 169. Objective-C의 대안 - Xamarin의 Mono를 이용한 C# iOS 개발 환경 [2]1362정성태10/16/201229184개발 환경 구성: 168. 우분투 서버 Active Directory 가입하기1361정성태10/12/201222572.NET Framework: 341. .NET COM+ 를 Managed/Native 클라이언트에서 각각 호출했을 때의 콜 스택 비교 [4]11360정성태10/9/201226950.NET Framework: 340. Windows Server 2012 - .NET Framework 1.x 미지원1359정성태10/9/201263248Windows: 65. 윈도우 8 - Internet Explorer 10을 32비트 또는 64비트로 통합 [5]1358정성태9/27/201226438.NET Framework: 339. .NET Profiler 주의 사항 - 하나의 exe 프로세스 내에 다중 .NET 런타임 사용1357정성태9/27/201223503Windows: 64. Hyper-V - Windows XP의 Live Migration 오류1356정성태9/26/201229642Windows: 63. 윈도우 서버 2012 - Hyper-V의 새로운 기능 Live Migration [6]1355정성태9/21/201227633Team Foundation Server: 49. TFS 2012 Express의 필수 보완 작업: 데이터베이스 백업 [1]1354정성태9/19/201224418.NET Framework: 338. .NET CLR GC 시간 측정하는 방법11353정성태9/17/201225761.NET Framework: 337. Python의 생성기와 코루틴을 C#으로 표현하면. [2]1 ... 136 137 138 139 140 141 142 143 144 145 146 [147] 148 149 150 ...