이 질문 에서 다음을 배운 후에 이것은 내 마음에 왔습니다 .
where T : struct
C # 개발자는 모두 C #의 기본 사항을 알고 있습니다. 선언, 조건부, 루프, 연산자 등을 의미합니다.
우리 중 일부는 Generics , anonymous types , lambdas , LINQ 등과 같은 것들을 마스터했습니다 .
그러나 C # 팬, 중독자, 전문가조차 거의 알지 못하는 C #의 가장 숨겨진 기능이나 요령은 무엇입니까?
지금까지 공개 된 기능은 다음과 같습니다.
키워드
yield작성자 : Michael Stumvar작성자 : Michael Stumusing()kokos의 진술readonly에 의해 kokosas에 의해 마이크 스톤as/is로 에드 SwangrenasRocketpants의 /is(개선)default에 의해 deathofratsglobal::에 의해 pzycomanusing()AlexCuse의 블록volatile에 의해 야쿱 Šturcextern alias에 의해 야쿱 Šturc
속성
DefaultValueAttribute작성자 : Michael StumObsoleteAttribute에 의해 DannySmurfDebuggerDisplayAttribute에 의해 스투DebuggerBrowsable그리고 bdukes에DebuggerStepThrough의해ThreadStaticAttribute에 의해 marxidadFlagsAttribute에 의해 마틴 클라크ConditionalAttribute에 의해 AndrewBurns
통사론
??kokos의 (coalesce nulls) 연산자- Nick Berardi의 숫자 신고
where T:new에 의해 라스 Mæhlum- Keith의 암시 적 제네릭
- Keith의 1 파라미터 람다
- Keith의 자동 속성
- Keith의 네임 스페이스 별명
- @로 패트릭 문자열 리터럴
enumlfoust에 의한 값- marxidad의 @variablenames
eventmarxidad의 운영자- Portman의 형식 문자열 대괄호
- xanadont의 속성 접근 자 접근성 수정 자
- JasonS의 조건부 (삼항) 연산자 (
?:) checked과unchecked에 의해 운영 Binoj 안토니implicit and explicitFlory의 운영자
언어 특징
- Brad Barker의 Nullable 유형
- Keith의 익명 유형
__makeref __reftype __refvalue에 의해 유다 희망 고- lomaxx의 객체 이니셜 라이저
- Dakota에서 David의 문자열 형식화
- marxidad의 확장 방법
partialJon Erickson의 방법- John Asbeck의 전 처리기 지시문
DEBUGRobert Durgin의 전 처리기 지시문- SefBkn에 의한 연산자 과부하
- chakrit의 유형 유추
- Rob Gough 가 다음 단계 로 가져 오는 부울 연산자
- Roman Boiko의 boxing없이 value-type 변수를 인터페이스로 전달
- Roman Boiko가 선언 한 변수 유형을 프로그래밍 방식으로 결정
- Chris의 정적 생성자
- roosteronacid에 의해 LINQ를 사용하여 눈에 쉽게 / 압축 ORM 매핑
__arglist에 의해 자크 볼링
Visual Studio 기능
- Himadri의 에디터에서 텍스트 블록 선택
- DannySmurf의 스 니펫
뼈대
TransactionScope에 의해 KiwiBastardDependantTransaction에 의해 KiwiBastardNullable<T>작성자 : IainMHMutex에 의해 DiagoSystem.IO.Path에 의해 ageektrappedWeakReference에 의해 후안 마누엘
방법 및 속성
String.IsNullOrEmpty()KiwiBastard의 방법List.ForEach()KiwiBastard의 방법BeginInvoke(),EndInvoke()에 의한 방법 윌 딘Nullable<T>.HasValue과Nullable<T>.Value에 의해 등록 RismoGetValueOrDefaultJohn Sheehan의 방법
팁 & 트릭
- Andreas HR Nilsson의 이벤트 핸들러를위한 멋진 방법
- John의 대문자 비교
- dp에 의해 반영되지 않은 익명 유형에 액세스
- Will에 의해 컬렉션 속성을 느리게 인스턴스화하는 빠른 방법
- roosteronacid의 JavaScript와 같은 익명 인라인 함수
다른
- kokos의 netmodules
- LINQBridge 에 의해 던컨 스마트
- 병렬 확장 에 의해 조엘 Coehoorn