부모글 보이기/감추기 AD BLOCK 해제 요청 이 글에는 광고가 많이 들어가 있지 않습니다. adblock을 해제하셔도 글을 읽는데 그다지 부담이 없으니 해제를 부탁드립니다. (연관된 글이 15개 있습니다.) C# 9.0 - (8) 정적 익명 함수 (static anonymous functions) C# 9.0 - (1) 대상으로 형식화된 new 식(Target-typed new expressions) ; https://www.sysnet.pe.kr/2/0/12363 C# 9.0 - (2) localsinit 플래그 내보내기 무시(Suppress emitting localsinit flag) ; https://www.sysnet.pe.kr/2/0/12364 C# 9.0 - (3) 람다 메서드의 매개 변수 무시(Lambda discard parameters) ; https://www.sysnet.pe.kr/2/0/12365 C# 9.0 - (4) 원시 크기 정수(Native ints) ; https://www.sysnet.pe.kr/2/0/12366 C# 9.0 - (5) 로컬 함수에 특성 지정 가능(Attributes on local functions) ; https://www.sysnet.pe.kr/2/0/12372 C# 9.0 - (6) 함수 포인터(Function pointers) ; https://www.sysnet.pe.kr/2/0/12374 C# 9.0 - (7) 패턴 일치 개선 사항(Pattern matching enhancements) ; https://www.sysnet.pe.kr/2/0/12383 C# 9.0 - (8) 정적 익명 함수 (static anonymous functions) ; https://www.sysnet.pe.kr/2/0/12389 C# 9.0 - (9) 레코드 (Records) ; https://www.sysnet.pe.kr/2/0/12392 C# 9.0 - (10) 대상으로 형식화된 조건식(Target-typed conditional expressions) ; https://www.sysnet.pe.kr/2/0/12399 C# 9.0 - (11) 공변 반환 형식(Covariant return types) ; https://www.sysnet.pe.kr/2/0/12402 C# 9.0 - (12) foreach 루프에 대한 GetEnumerator 확장 메서드 지원(Extension GetEnumerator) ; https://www.sysnet.pe.kr/2/0/12403 C# 9.0 - (13) 모듈 이니셜라이저(Module initializers) ; https://www.sysnet.pe.kr/2/0/12404 C# 9.0 - (14) 부분 메서드에 대한 새로운 기능(New features for partial methods) ; https://www.sysnet.pe.kr/2/0/12405 C# 9.0 - (15) 최상위 문(Top-level statements) ; https://www.sysnet.pe.kr/2/0/12406 C# 9.0 - (16) 제약 조건이 없는 형식 매개변수 주석(Unconstrained type parameter annotations) ; https://www.sysnet.pe.kr/2/0/12423 (이번 실습은 - 오늘 기준 16.7.7의 Visual Studio 2019에서는 컴파일이 안 되고 "16.8.x"의 Preview 버전에서 가능합니다.) C# 7.0에 로컬 함수(Local function)가 추가되고, C# 8.0에 로컬 함수의 static 정의가 가능해졌는데요. 마찬가지로 (C# 3.0부터 있었던) 람다 식과 (C# 2.0부터 있었던) 익명 메서드에 (이제서야) static 정의를 할 수 있게 되었습니다. 기능은 동일하게, 람다 및 익명 메서드 내에서 외부 scope의 변수를 명시적으로 캡처하지 못하게 만드는 역할을 합니다. using System; class Program { static void Main(string[] args) { { string title = "console: "; Func<int, string> func = static i => { // Error CS8820 A static anonymous function cannot contain a reference to 'title'. // return title + i.ToString(); return i.ToString(); }; Console.WriteLine(func(10)); } { const string title = "console: "; Func<int, string> func = static delegate (int i) { // const 변수의 경우 참조에 대한 부작용이 없으므로 사용 가능 return title + i.ToString(); }; Console.WriteLine(func(10)); } } } (첨부 파일은 이 글의 예제 코드를 포함합니다.) [이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.] [다음 글] 디버깅 기술: 173. windbg - System.Configuration.ConfigurationErrorsException 예외 분석 방법[이전 글] 오류 유형: 674. 어느 순간부터 닷넷 응용 프로그램 실행 시 System.Configuration.ConfigurationErrorsException 예외가 발생한다면? [연관 글] .NET Framework: 947. C# 9.0 - (1) 대상으로 형식화된 new 식(Target-typed new expressions).NET Framework: 948. C# 9.0 - (2) localsinit 플래그 내보내기 무시(Suppress emitting localsinit flag).NET Framework: 949. C# 9.0 - (3) 람다 메서드의 매개 변수 무시(Lambda discard parameters).NET Framework: 950. C# 9.0 - (4) 원시 크기 정수(Native ints).NET Framework: 951. C# 9.0 - (5) 로컬 함수에 특성 지정 가능(Attributes on local functions).NET Framework: 953. C# 9.0 - (6) 함수 포인터(Function pointers).NET Framework: 956. C# 9.0 - (7) 패턴 일치 개선 사항(Pattern matching enhancements).NET Framework: 959. C# 9.0 - (9) 레코드(Records).NET Framework: 961. C# 9.0 - (10) 대상으로 형식화된 조건식(Target-typed conditional expressions).NET Framework: 962. C# 9.0 - (11) 공변 반환 형식(Covariant return types).NET Framework: 963. C# 9.0 - (12) foreach 루프에 대한 GetEnumerator 확장 메서드 지원(Extension GetEnumerator).NET Framework: 964. C# 9.0 - (13) 모듈 이니셜라이저(Module initializers).NET Framework: 965. C# 9.0 - (14) 부분 메서드에 대한 새로운 기능(New features for partial methods).NET Framework: 966. C# 9.0 - (15) 최상위 문(Top-level statements).NET Framework: 974. C# 9.0 - (16) 제약 조건이 없는 형식 매개변수 주석(Unconstrained type parameter annotations) [최초 등록일: 11/1/2020] [최종 수정일: 11/22/2020] 이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다. by SeongTae Jeong, mailto:techsharer at outlook.com 비밀번호 댓글 작성자 ... 31 32 [33] 34 35 36 37 38 39 40 41 42 43 44 45 ... NoWriterDateCnt.TitleFile(s) 13209정성태1/4/202314550Windows: 218. 왜 윈도우에서 가상 메모리 공간은 64KB 정렬이 된 걸까요?13208정성태1/3/202317028.NET Framework: 2086. C# - Windows 운영체제의 2MB Large 페이지 크기 할당 방법113207정성태12/26/202217620.NET Framework: 2085. C# - gpedit.msc의 "User Rights Assignment" 특권을 코드로 설정/해제하는 방법 [1]113206정성태12/24/202217719.NET Framework: 2084. C# - GetTokenInformation으로 사용자 SID(Security identifiers) 구하는 방법 [4]113205정성태12/24/202215778.NET Framework: 2083. C# - C++과의 연동을 위한 구조체의 fixed 배열 필드 사용 (2)113204정성태12/22/202214727.NET Framework: 2082. C# - (LSA_UNICODE_STRING 예제로) CustomMarshaler 사용법113203정성태12/22/202214969.NET Framework: 2081. C# Interop 예제 - (LSA_UNICODE_STRING 예제로) 구조체를 C++에 전달하는 방법113202정성태12/21/202217994기타: 84. 직렬화로 설명하는 Little/Big Endian113201정성태12/20/202219807오류 유형: 835. PyCharm 사용 시 C 드라이브 용량 부족13200정성태12/19/202216638오류 유형: 834. 이벤트 로그 - SSL Certificate Settings created by an admin process for endpoint13199정성태12/19/202217462개발 환경 구성: 656. Internal Network 유형의 스위치로 공유한 Hyper-V의 VM과 호스트가 통신이 안 되는 경우13198정성태12/18/202217619.NET Framework: 2080. C# - Microsoft.XmlSerializer.Generator 처리 없이 XmlSerializer 생성자를 예외 없이 사용하고 싶다면?113197정성태12/17/202217270.NET Framework: 2079. .NET Core/5+ 환경에서 XmlSerializer 사용 시 System.IO.FileNotFoundException 예외 발생하는 경우113196정성태12/16/202217825.NET Framework: 2078. .NET Core/5+를 위한 SGen(Microsoft.XmlSerializer.Generator) 사용법13195정성태12/15/202217907개발 환경 구성: 655. docker - bridge 네트워크 모드에서 컨테이너 간 통신 시 --link 옵션 권장 이유13194정성태12/14/202216982오류 유형: 833. warning C4747: Calling managed 'DllMain': Managed code may not be run under loader lock113193정성태12/14/202217806오류 유형: 832. error C7681: two-phase name lookup is not supported for C++/CLI or C++/CX; use /Zc:twoPhase-13192정성태12/13/202218086Linux: 55. 리눅스 - bash shell에서 실수 연산13191정성태12/11/202219473.NET Framework: 2077. C# - 직접 만들어 보는 SynchronizationContext113190정성태12/9/202222375.NET Framework: 2076. C# - SynchronizationContext 기본 사용법113189정성태12/9/202220132오류 유형: 831. Visual Studio - Windows Forms 디자이너의 도구 상자에 컨트롤이 보이지 않는 문제13188정성태12/9/202221163.NET Framework: 2075. C# - 직접 만들어 보는 TaskScheduler 실습 (SingleThreadTaskScheduler) [1]113187정성태12/8/202220108개발 환경 구성: 654. openssl - CA로부터 인증받은 새로운 인증서를 생성하는 방법 (2)13186정성태12/6/202218353오류 유형: 831. The framework 'Microsoft.AspNetCore.App', version '...' was not found.13185정성태12/6/202218660개발 환경 구성: 653. Windows 환경에서의 Hello World x64 어셈블리 예제 (NASM 버전)13184정성태12/5/202215645개발 환경 구성: 652. ml64.exe와 link.exe x64 실행 환경 구성 [1] ... 31 32 [33] 34 35 36 37 38 39 40 41 42 43 44 45 ...