1. 입출력
- 입력 : Console.ReadLine(); // "문자열"로 입력됨
- 한 줄 출력 : Console.WriteLine("한 줄 출력");
- 출력 : Console.Write("줄 바꿈 없이 출력");
2. 데이터
- var : 선언시 초기화 필수
- '?' : nullable, null 값 저장 가능한 데이터 ( ex. int? a = 1; )
- const : 불변 변수 이용할 경우 사용, 변수명 대문자로 설정하기 (ex. const int MIN = 0; // 최소값)
- object : 다양한 데이터로 저장 가능
- int, float, double, decimal, char, bool 등 존재
3. 문자열 <-> 수 : ToString(), Parse, Convert
- 문자열로 바꾸기 : ToString()
- 문자열을 수로 바꾸기 : 데이터타입.Parse(문자열 변수명) or Convert.데이터타입(문자열 변수명)
string strA = "12345";
int parseA = int.Parse(strA); // Convert.ToInt32(strA);
string strB = "3.141593";
float parseB = Convert.ToSingle(strB); // float.Parse(strB);
4. Value (값) & Reference (참조)
Value | Reference |
char, bool, enum, int 등 | 배열, string, class, interface, delegate 등 |
두 개의 변수가 서로 영향 주지 않음 | 두 개의 변수가 서로 영향을 줌 |
Stack에 값 저장 (존재) | 값이 아닌 주소를 참조 (Stack에 주소값, 주소값 가진 Heap에 값 존재) |
5. boxing & unboxing
heap 영역에 메모리 사용 -> boxing으로 불필요한 메모리 증가하게 되면 프로그램이 무거워지고 성능 저하되므로 잘 사용하기
int i= 123;
object o = i; // boxing
int j = (int)o // unboxing
6. 데이터 알아내기 : GetType()
- 변수.GetType();
int a = 10;
Console.WriteLine(a.GetType()); // a의 데이터 타입 출력 "System.Int32"
'etc > algorithm' 카테고리의 다른 글
[c 언어] 포인터와 call by address : 실제 값에 영향 있는 경우와 없는 경우! (0) | 2021.03.27 |
---|---|
[C언어] 포인터 문자열 VS 배열 문자열 (같지 않다!) (0) | 2021.02.25 |
[C++] 다양한 별 찍기 문제 연습 (0) | 2020.07.26 |
[C++] c++ 시작하기 : cout, cin, namespace, 오버로딩 (0) | 2020.05.18 |
[Python] 5장 재귀와 반복 : 정렬 (Sorting) (0) | 2020.05.08 |