이 질문 에서 다음을 배운 후에 이것은 내 마음에 왔습니다 .
where T : struct
C # 개발자는 모두 C #의 기본 사항을 알고 있습니다. 선언, 조건부, 루프, 연산자 등을 의미합니다.
우리 중 일부는 Generics , anonymous types , lambdas , LINQ 등과 같은 것들을 마스터했습니다 .
그러나 C # 팬, 중독자, 전문가조차 거의 알지 못하는 C #의 가장 숨겨진 기능이나 요령은 무엇입니까?
지금까지 공개 된 기능은 다음과 같습니다.
키워드
yield
작성자 : Michael Stumvar
작성자 : Michael Stumusing()
kokos의 진술readonly
에 의해 kokosas
에 의해 마이크 스톤as
/is
로 에드 Swangrenas
Rocketpants의 /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의 네임 스페이스 별명
- @로 패트릭 문자열 리터럴
enum
lfoust에 의한 값- marxidad의 @variablenames
event
marxidad의 운영자- Portman의 형식 문자열 대괄호
- xanadont의 속성 접근 자 접근성 수정 자
- JasonS의 조건부 (삼항) 연산자 (
?:
) checked
과unchecked
에 의해 운영 Binoj 안토니implicit and explicit
Flory의 운영자
언어 특징
- Brad Barker의 Nullable 유형
- Keith의 익명 유형
__makeref __reftype __refvalue
에 의해 유다 희망 고- lomaxx의 객체 이니셜 라이저
- Dakota에서 David의 문자열 형식화
- marxidad의 확장 방법
partial
Jon Erickson의 방법- John Asbeck의 전 처리기 지시문
DEBUG
Robert 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
에 의해 등록 RismoGetValueOrDefault
John Sheehan의 방법
팁 & 트릭
- Andreas HR Nilsson의 이벤트 핸들러를위한 멋진 방법
- John의 대문자 비교
- dp에 의해 반영되지 않은 익명 유형에 액세스
- Will에 의해 컬렉션 속성을 느리게 인스턴스화하는 빠른 방법
- roosteronacid의 JavaScript와 같은 익명 인라인 함수
다른
- kokos의 netmodules
- LINQBridge 에 의해 던컨 스마트
- 병렬 확장 에 의해 조엘 Coehoorn