|
|
#### **기본 자료형**
|
|
|
### **기본 자료형**
|
|
|
* **Value Type**
|
|
|

|
|
|
<br>
|
... | ... | @@ -11,7 +11,7 @@ |
|
|

|
|
|
<br>
|
|
|
|
|
|
#### **value type vs. reference type**
|
|
|
### **value type vs. reference type**
|
|
|
|
|
|
* **Value types and reference types in the CTS**
|
|
|

|
... | ... | @@ -39,7 +39,7 @@ |
|
|
<img src="secondImage/variable-6.png" width="500">
|
|
|
<br>
|
|
|
|
|
|
#### **박싱 / 언박싱**
|
|
|
### **박싱 / 언박싱**
|
|
|
|
|
|
박싱 : 값 형식 -> 참조 형식
|
|
|
언박싱 : 참조 형식 -> 값 형식
|
... | ... | @@ -57,7 +57,7 @@ static void Main(string[] args) |
|
|
```
|
|
|
박싱이 빈번할 수록 GC는 바빠지고 프로그램의 수행 성능은 그만큼 떨어진다. 따라서 박싱을 과다하게 발생할 수 있는 코드는 최대한 줄이는 것을 권장한다.
|
|
|
|
|
|
#### **var**
|
|
|
### **var**
|
|
|
C#3.0 컴파일러부터는 타입 추론(type inference)기능이 추가되면서 메서드의 지역 변수 선언을 타입에 관계없이 var 예약어로 쓸 수 있게 됐다.
|
|
|
``` cs
|
|
|
static void Main(string[] args)
|
... | ... | @@ -83,10 +83,10 @@ foreach (var elem in dict) |
|
|
}
|
|
|
```
|
|
|
|
|
|
#### **nullable**
|
|
|
### **nullable**
|
|
|
bool 타입은 true/false값만을 가질 수 있는데, Nullable<T>타입은 일반적인 값 형식에 대해 null표현이 가능하게 하는 역할을 한다.
|
|
|
|
|
|
#### **구조체**
|
|
|
### **구조체**
|
|
|
값 형식에도 class처럼 사용자 정의 형식을 둔 것이 구조체이다.
|
|
|
|
|
|
1. 인스턴스 생성을 new로 해도 되고, 안 해도 된다.
|
... | ... | @@ -96,7 +96,7 @@ bool 타입은 true/false값만을 가질 수 있는데, Nullable<T>타입은 |
|
|
|
|
|
<img src="secondImage/struct_inmemory.png" width="700">
|
|
|
|
|
|
#### **제어문**
|
|
|
### **제어문**
|
|
|

|
|
|
* **foreach문**
|
|
|
in 다음에 오는 배열을 처음부터 끝까지순회하면서 개별 요소를 변수명에 넣어 반복문 구문 내에서 해당 변수를 사용할 수 있게 해준다.
|
... | ... | @@ -105,7 +105,7 @@ foreach (표현식요소의_자료형 변수명 in 표현식) |
|
|
구문;
|
|
|
```
|
|
|
|
|
|
#### **연산자**
|
|
|
### **연산자**
|
|
|
1. 수식 연산자
|
|
|

|
|
|
|
... | ... | |