자세한 목차
- 머리말
- 소개
- §1 범위
- §2 개 표준 참조
- §3 사용 약관 및 정의
- §4 일반 설명
- §5 규칙
- §6 어휘 구조
- §7 기본 개념
- §8 형식
- §8.1 일반
- §8.2 참조 형식
- §8.2.1 일반
- §8.2.2 클래스 형식
- §8.2.3 개체 형식
- §8.2.4 동적 형식
- §8.2.5 문자열 형식
- §8.2.6 인터페이스 형식
- §8.2.7 배열 형식
- §8.2.8 대리자 형식
- §8.3 값 형식
- §8.4 생성된 형식
- §8.5 형식 매개 변수
- §8.6 식 트리 종류
- §8.7 동적 형식
- §8.8 관리되지 않는 형식
- §8.9 참조 형식 및 null 허용 여부
- §9 변수
- §9.1 일반
- §9.2 변수 범주
- §9.3 기본값
- §9.4 배정
- §9.4.1 일반
- §9.4.2 처음에 할당된 변수
- §9.4.3 처음에 할당되지 않은 변수
- §9.4.4 명확한 할당을 결정하기 위한 정확한 규칙
- §9.4.4.1 일반
- §9.4.4.2 문에 대한 일반 규칙
- §9.4.4.3 블록 문, 선택됨 및 선택 취소된 문
- §9.4.4.4 식 문
- §9.4.4.5 선언문
- §9.4.4.6 If 문
- §9.4.4.7 Switch 문
- §9.4.4.8 While 문
- §9.4.4.9 Do 문
- §9.4.4.10 문
- §9.4.4.11 Break, continue, goto 문
- §9.4.4.12 throw 문
- §9.4.4.13 Return 문
- §9.4.4.14 Try-catch 문
- §9.4.4.15 Try-finally 문
- §9.4.4.16 Try-catch-finally 문
- §9.4.4.17 Foreach 문
- §9.4.4.18 Using 문
- §9.4.4.19 Lock 문
- §9.4.4.20 Yield 문
- §9.4.4.21 상수 식에 대한 일반 규칙
- §9.4.4.22 단순 식에 대한 일반 규칙
- §9.4.4.23 식이 포함된 식에 대한 일반 규칙
- §9.4.4.24 호출 식 및 개체 만들기 식
- §9.4.4.25 단순 대입 식
- §9.4.4.26 식
- §9.4.4.27 || 식
- §9.4.4.28 ! 식
- §9.4.4.29 ?? 식
- §9.4.4.30 ?: 식
- §9.4.4.31 익명 함수
- §9.4.4.32 Throw 식
- §9.4.4.33 로컬 함수의 변수에 대한 규칙
- §9.4.4.34 is-pattern 식
- §9.5 변수 참조
- §9.6 가변 참조 원자성
- §9.7 참조 변수 및 반환
- §10 변환
- §10.1 일반
- §10.2 암시적 변환
- §10.2.1 일반
- §10.2.2 ID 변환
- §10.2.3 암시적 숫자 변환
- §10.2.4 암시적 열거형 변환
- §10.2.5 암시적 보간 문자열 변환
- §10.2.6 암시적 nullable 변환
- §10.2.7 Null 리터럴 변환
- §10.2.8 암시적 참조 변환
- §10.2.9 Boxing 변환
- §10.2.10 암시적 동적 변환
- §10.2.11 암시적 상수 식 변환
- §10.2.12 형식 매개 변수와 관련된 암시적 변환
- §10.2.13 암시적 튜플 변환
- §10.2.14 사용자 정의 암시적 변환
- §10.2.15 익명 함수 변환 및 메서드 그룹 변환
- §10.2.16 기본 리터럴 변환
- §10.2.17 암시적 throw 변환
- §10.3 명시적 변환
- §10.4 표준 변환
- §10.5 사용자 정의 변환
- §10.6 nullable 형식과 관련된 변환
- §10.7 익명 함수 변환
- §10.8 메서드 그룹 변환
- §11 패턴 및 패턴 일치
- §12 식
- §12.1 일반
- §12.2 식 분류
- §12.3 정적 및 동적 바인딩
- §12.4 연산자
- §12.5 멤버 조회
- §12.6 함수 멤버
- §12.6.1 일반
- §12.6.2 인수 목록
- §12.6.3 형식 유추
- §12.6.3.1 일반
- §12.6.3.2 첫 번째 단계
- §12.6.3.3 두 번째 단계
- §12.6.3.4 입력 형식
- §12.6.3.5 출력 형식
- §12.6.3.6 의존성
- §12.6.3.7 출력 형식 유추
- §12.6.3.8 명시적 매개 변수 형식 유추
- §12.6.3.9 정확한 유추
- §12.6.3.10 하한 유추
- §12.6.3.11 상한 유추
- §12.6.3.12 수정
- §12.6.3.13 유추 반환 형식
- §12.6.3.14 메서드 그룹의 변환에 대한 형식 유추
- §12.6.3.15 식 집합의 가장 일반적인 형식 찾기
- §12.6.4 오버로드 확인
- §12.6.5 동적 멤버 호출의 컴파일 시간 검사
- §12.6.6 함수 멤버 호출
- §12.7 분해
- §12.8 기본 식
- §12.8.1 일반
- §12.8.2 리터럴
- §12.8.3 보간된 문자열 식
- §12.8.4 단순 이름
- §12.8.5 괄호 식
- §12.8.6 튜플 식
- §12.8.7 멤버 액세스
- §12.8.8 Null 조건부 멤버 액세스
- §12.8.9 Null 용서 식
- §12.8.10 호출 식
- §12.8.10.1 일반
- §12.8.10.2 메서드 호출
- §12.8.10.3 Extension 메서드 호출
- §12.8.10.4 대리자 호출
- §12.8.11 Null 조건부 호출 식
- §12.8.12 요소 액세스
- §12.8.12.1 일반
- §12.8.12.2 배열 액세스
- §12.8.12.3 인덱서 액세스
- §12.8.13 Null 조건부 요소 액세스
- §12.8.14 이 액세스
- §12.8.15 기본 액세스
- §12.8.16 후위 증가 및 감소 연산자
- §12.8.17 새 연산자
- §12.8.17.1 일반
- §12.8.17.2 개체 만들기 식
- §12.8.17.3 개체 이니셜라이저
- §12.8.17.4 컬렉션 이니셜라이저
- §12.8.17.5 배열 만들기 식
- §12.8.17.6 대리자 생성 식
- §12.8.17.7 익명 개체 만들기 식
- §12.8.18 typeof 연산자
- §12.8.19 sizeof 연산자
- §12.8.20 선택 및 선택되지 않은 연산자
- §12.8.21 기본값 식
- §12.8.22 스택 할당
- §12.8.23 Nameof 연산자
- §12.8.24 익명 메서드 식
- §12.9 단항 연산자
- §12.10 산술 연산자
- §12.11 Shift 연산자
- §12.12 관계형 및 형식 테스트 연산자
- §12.12.1 일반
- §12.12.2 정수 비교 연산자
- §12.12.3 부동 소수점 비교 연산자
- §12.12.4 10진수 비교 연산자
- §12.12.5 부울 같음 연산자
- §12.12.6 열거형 비교 연산자
- §12.12.7 참조 형식 같음 연산자
- §12.12.8 문자열 같음 연산자
- §12.12.9 대리자 같음 연산자
- §12.12.10 nullable 값 형식과 null 리터럴 간의 같음 연산자
- §12.12.11 튜플 같음 연산자
- §12.12.12 Is 연산자
- §12.12.12.1 is-type 연산자
- §12.12.12.2 is 패턴 연산자
- §12.12.13 As 연산자
- §12.13 논리 연산자
- §12.14 조건부 논리 연산자
- §12.15 null 병합 연산자
- §12.16 throw 식 연산자
- §12.17 선언 식
- §12.18 조건부 연산자
- §12.19 익명 함수 식
- §12.19.1 일반
- §12.19.2 익명 함수 서명
- §12.19.3 익명 함수 본문
- §12.19.4 오버로드 확인
- §12.19.5 익명 함수 및 동적 바인딩
- §12.19.6 외부 변수
- §12.19.6.1 일반
- §12.19.6.2 캡처된 외부 변수
- §12.19.6.3 지역 변수 인스턴스화
- §12.19.7 익명 함수 식 평가
- §12.19.8 구현 예제
- §12.20 쿼리 식
- §12.20.1 일반
- §12.20.2 쿼리 식의 모호성
- §12.20.3 쿼리 식 변환
- §12.20.3.1 일반
- §12.20.3.2 연속이 있는 쿼리 식
- §12.20.3.3 명시적 범위 변수 형식
- §12.20.3.4 쿼리 식 생성 취소
- §12.20.3.5 From, let, where, join 및 orderby 절
- §12.20.3.6 절 선택
- §12.20.3.7 그룹 절
- §12.20.3.8 투명 식별자
- §12.20.4 쿼리 식 패턴
- §12.21 배정 연산자
- §12.22 식
- §12.23 상수 식
- §12.24 부울 식
- §13 문
- §14 네임스페이스
- §15 클래스
- §15.1 일반
- §15.2 클래스 선언
- §15.3 클래스 구성원
- §15.3.1 일반
- §15.3.2 인스턴스 유형
- §15.3.3 생성된 형식의 멤버
- §15.3.4 상속
- §15.3.5 새 한정자
- §15.3.6 액세스 한정자
- §15.3.7 구성 요소 유형
- §15.3.8 정적 및 인스턴스 멤버
- §15.3.9 중첩 형식
- §15.3.10 예약 멤버 이름
- §15.3.10.1 일반
- §15.3.10.2 속성에 예약된 멤버 이름
- §15.3.10.3 이벤트용으로 예약된 멤버 이름
- §15.3.10.4 인덱서용으로 예약된 멤버 이름
- §15.3.10.5 종료자를 위해 예약된 멤버 이름
- §15.3.10.6 연산자를 위해 예약된 메서드 이름
- §15.4 상수
- §15.5 필드
- §15.6 메서드
- §15.6.1 일반
- §15.6.2 메서드 매개 변수
- §15.6.2.1 일반
- §15.6.2.2 값 매개 변수
- §15.6.2.3 참조 매개 변수
- §15.6.2.3.1 일반
- §15.6.2.3.2 입력 매개 변수
- §15.6.2.3.3 참조 매개 변수
- §15.6.2.3.4 출력 매개 변수
- §15.6.2.4 매개 변수 배열
- §15.6.3 정적 및 인스턴스 메서드
- §15.6.4 가상 메서드
- §15.6.5 메서드 재정의
- §15.6.6 Sealed 메서드
- §15.6.7 추상 메서드
- §15.6.8 외부 메서드
- §15.6.9 부분 메서드
- §15.6.10 확장 메서드
- §15.6.11 메서드 본문
- §15.7 속성
- §15.8 이벤트
- §15.9 인덱서
- §15.10 연산자
- §15.11 인스턴스 생성자
- §15.12 정적 생성자
- §15.13 종료자
- §15.14 반복기
- §15.14.1 일반
- §15.14.2 열거자 인터페이스
- §15.14.3 열거 가능한 인터페이스
- §15.14.4 수율 유형
- §15.14.5 열거자 개체
- §15.14.5.1 일반
- §15.14.5.2 MoveNext 메서드
- §15.14.5.3 현재 속성
- §15.14.5.4 Dispose 메서드
- §15.14.6 열거 가능한 개체
- §15.14.6.1 일반
- §15.14.6.2 GetEnumerator 메서드
- §15.15 비동기 함수
- §16 구조체
- §16.1 일반
- §16.2 구조체 선언
- §16.3 구조체 멤버
- §16.4 클래스 및 구조체 차이점
- §16.4.1 일반
- §16.4.2 값 의미 체계
- §16.4.3 상속
- §16.4.4 배정
- §16.4.5 기본값
- §16.4.6 Boxing and unboxing
- §16.4.7 의미
- §16.4.8 필드 이니셜라이저
- §16.4.9 생성자
- §16.4.10 정적 생성자
- §16.4.11 자동으로 구현된 속성
- §16.4.12 안전한 컨텍스트 제약 조건
- §16.4.12.1 일반
- §16.4.12.2 매개 변수 안전 컨텍스트
- §16.4.12.3 지역 변수 안전 컨텍스트
- §16.4.12.4 필드 안전 컨텍스트
- §16.4.12.5 연산자
- §16.4.12.6 메서드 및 속성 호출
- §16.4.12.7 stackalloc
- §16.4.12.8 생성자 호출
- §17 배열
- §18 인터페이스
- §19 열거형
- §20 대리자
- §21 예외
- §22 특성
- §23 안전하지 않은 코드
- §A 문법
- §A.1 일반
- §A.2 어휘 문법
- §A.3 구문 문법
- 안전하지 않은 코드에 대한 §A.4 문법 확장
- §B 이식성 문제
- §C 표준 라이브러리
- §D 설명서 주석
- §E 참고 문헌
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
ECMA C# draft specification