Programming/C#

C# 6.0, 키워드

wnsrn3436 2016.02.20 19:05

한정자라고 할 때도 있고 리터럴이라고 할 때도 있고, 또 어떤 것은 한정자 및 연산자가 될 때도 있는 혼란스러운 C#의 키워드를 정리해보았습니다. 키워드를 정리하면서 제가 알고 있는 같이 쓰이는 키워드들은 '키워드~키워드' 혹은 '키워드 키워드'로 묶어놓았는데, 같이 쓰이는 것인데 묶여있지 않거나 단독으로도 쓰이는데도 묶여만 있다면 알려주시면 감사하겠습니다.


한 줄에 작성되어있는 키워드들은 자주 같이 쓰이는 것들로 묶어놓았지만, 본문의 한정자의 경우를 보면 알겠지만 메소드, 필드, 지역변수 등에도 두루두루 쓰이는 것일 때도 있습니다. 한 줄에 묶여있는 것들은 그냥 가독성 쪽으로 생각해주시면 됩니다.


문맥 키워드의 경우에는 '키워드*' 처럼 키워드 뒤에 '*' 표시를 해두었는데, 여러 키워드를 '~'로 묶어버리면서 같은 키워드에 '*'가 계속 들어갑니다만 통일성을 위해서 일부러 그렇게 작성하였습니다.


형식

- 기본 값 형식

- sbyte, byte, short, ushort, int, uint, long, ulong

- char

- float, double

- decimal

- bool

- 기본 참조 형식

- object, string, dynamic*

- 기타 형식

- void

- var*


한정자

- 접근 한정자

- public, internal, private, protected, protected internal

- 매개변수 한정자

- params, ref, out

- 제네릭의 형식 매개변수 한정자

- in, out

- 오버로드 한정자, 변환 한정자

- operator 오버로드 한정자, explicit operator 변환 한정자, implicit operator 변환 한정자

- 기타 한정자

- static, virtual, new, new virtual, override, sealed, abstract, partial*, unsafe, event, async*

- const, readonly, volatile

- global*::

- extern


- 선택 문

- if~else, switch~case~default

- 반복 문

- while, do~while, for, foreach~in

- 점프 문

- break, continue, goto, goto default, goto case, return

- 예외 처리문

- throw, try~catch~finally

- 형식 관련 문

- struct, enum

- namespace, class, interface, delegate

- 속성, 이벤트 관련 문

- add*~value*, remove*~value*

- get*, set*~value*

- 네임스페이스 관련 문

- using, using 지시문, using static 지시문

- extern alias* 지시문

- 기타 문

- yield* return, yield* break

- checked, unchecked

- unsafe, fixed

- lock


연산자

- is, as

- true, false

- sizeof, typeof, nameof

- new, await*, stackalloc

- checked, unchecked

- delegate

- default 리터럴 연산자


리터럴

- true, false

- null


제네릭 제약조건

- where*

- struct, class, new


참조자, 접근자

- this 참조자, base 접근자


질의식(쿼리)

- 절

- from*, where*, select*, group*, orderby*, join*, let*

- 절의 문맥 키워드

- group* 절의 문맥 키워드

- by*

- orderby* 절의 문맥 키워드

- ascending*, descending*

- join* 절의 문맥 키워드

- in*, on*, equals*

- select*, group*, join* 절의 문맥 키워드

- into*

저작자 표시 비영리 변경 금지
신고
Tag
0 Comments