[C#] 2

널러블 타입(Nullable type,TYPE?)

C#에 존재하는 특별한 타입인 Nullable Type int? 와 같이 타입뒤에?이 있거나 ??, ??= 요런걸 보고 놀라서 찾아보고 정리했다. 무엇이냐면 그냥 Null을 가질 수 없는 타입들에게 특별히 Null을 가질수 있도록 허용하는 것이다. 1.Nullable Type C#의 Nullable Type은 Null을 값으로 가질 수 없는 데이터의 타입을 Null을 가질수 있는 타입으로 만들도록 선언해주는것이다. Null을 값으로 가질 수 없는 타입들은 대표적으로 값 타입(value type)이 있다. int, double, bool, 구조체 등의 데이터 타입이다. *클래스와 같은 참조타입(reference type)은 Null을 값으로 가질수 있으므로 따로 Nullable Type으로 만들지 않아도 ..

[C#] 2022.01.25

register 키워드 vs. volatile 키워드

register 레지스터 변수는 CPU가 사용하는 임시 저장용 고속 메모리인 레지스터를 저장 영역으로 사용하는 변수이다. 굳이 register를 붙이지 않더라도 컴파일러가 빠른 교환이 필요한 코드에 사용되는 변수는 레지스터 변수로 바꿔준다. volatile 항상 메모리에 두어 그때 그때 읽고 쓰도록 컴파일러가 최적화하지 않기 위해서 사용한다. 주로 어떤 값을 항상 감시하는 경우에 사용된다. 인터럽트 핸들러나, 메모리맵 I/O, 다중 스레드 프로그래밍, 기계제어 등에 사용한다. 둘 다 해당 변수의 메모리 적재와 관련되어있고 상반된 역할을 하도록 컴파일러에게 지시한다. m.blog.naver.com/PostView.nhn?blogId=classic2u&logNo=50003118713&proxyReferer=..

[C#] 2021.05.05