-
[C# 기본] 3. 기본 문법C#/강의 | Lecture 2018. 11. 29. 16:55
1. 단항 연산자
1-1. !, ~, ++, -- 등의 연산자가 있으며, C/C++의 연산자와 거의 동일
1-2. ! 연산자는 bool 형에만 사용 가능
- !true == false
- !false == true
2. 산술 연산자
2-1. *, /, %, -, + 등의 연산자가 있으며, C/C++의 연산자와 거의 동일
2-2. string에서 +는 문자열 연결
- 정수/부동 + "문자열" = 새로운 문자열
- Console.WriteLine(5.01f + "5"); // 문자열 5.015
3. 시프트(shift) 연산자와 관계 연산자
3-1. <<. >>, >=, <=, >, <, ==, != 등이 있으며, C/C++의 연산자와 거의 동일
3-2. C#에서의 관계 연산자 결과는 true, false
- C/C++에서는 0, 1 이지만 C#은 bool형이 true, false
4. is 연산자
4-1. 형식 호환을 조사하는 연산자, 결과는 true/false
4-2. 사용 형식은 아래와 같음
- '변수' is '클래스형 or 데이터형'
- int nValue = 10;
if (nValue is float)
{
// todo...
}
5. as 연산자
5-1. 형변환과 변환 조사
- 소괄호를 이용한 형변화 대신에 사용
5-2. 사용 형식은 아래와 같음
- string str1 = "abc";
object obj = str1;
string str2 = obj as string;
6. null 병합 연산자
6-1. ?? 키워드를 사용, null 조사
6-2. 사용 형식은 아래와 같음
- C = A ?? B // A가 null이 아니면 A를 C에 대입, null이면 B를 C에 대입
- int? x = null; // nullable
int y = x ?? -1; // y에 -1 대입
7. 선택문
7-1. if-else 구문은 C/C++과 다르게 조건문 결과가 true/false
7-2. switch-case 구문의 조건은 정수, 문자상수, 문자열 사용
- C/C++에서는 정수, 문자상수만 지원했지만 C#은 string까지 가능
- 모든 case와 default에는 break가 반드시 존재
8. 반복문
8-1. for 구문은 C/C++과 동일함
8-2.while, do-while 구문은 C/C++과 동일함
- 조건은 true/false로 사용
9. foreach 반복문
9-1. 처음부터 끝까지 순차적으로 값을 반복해 읽는 전용 기능 (쓰기는 안됨)
9-2. 배열, 컬렉션의 데이터에 주로 사용
9-3. 컬렉션 중에 대표적인것이 ArrayList
9-4. 사용형식은 아래와 같음
- foreach(데이터형 변수 in 배열명or컬렉션명)
{
// todo...
}
- int[] Array = {1,2,3,4};
foreach (int nValue in Array)
{
// todo...
}
- ArrayList List = new ArrayList();
List.Add(1);
List.Add(2);
List.Add(3);
foreach (int m in List)
{
// todo...
}
10. 예외 처리문
10-1. 예외란 런타임 시에 발생할 수 있는 오류
10-2. 예외 처리방법은 if-else문, try-catch문 사용
- if-else문의 경우 예외 처리를 하기 위해 코드가 길어지는 현상 발생
- try-catch문에서 catch는 에러가 발생해야 수행
10-3. try-catch문 사용 형식은 아래와 같음
- try
{
// 예외가 발생할 수 있는 코드
} catch (예외처리객체 e)
{
// 예외 처리
}
10-4. 예외처리객체는 System.Exception 파생 객체만 사용
- OverFlowException, FormatException, IndexOutOfRangeException 등이 존재
10-5. try-catch문 안에서 초기화한 변수는 try-catch문 밖에서 사용 불가
- try-catch문에서 밖에서 초기화한 변수는 사용 가능
10-6. try-catch-finally 구문에서 finally는 예외 발생과 상관없이 항상 실행되는 구문
- finally는 에러가 발생하더라도 반드시 수행해야하는 코드를 작성
- 일반적으로 finally에는 파일에 내용을 저장하고 파일을 닫는 코드를 작성
10-7. 다중 예외 처리의 경우 사용 형식은 아래와 같음
- try
{
// 예외가 발생할 수 있는 코드
} catch (OverFlowException e)
{
// 예외 처리
} catch (FormatException e)
{
// 예외 처리
}
10-8. throw는 예외 상황을 임의로 발생시키는 역할
- System.Exception 파생된 객체만 사용
- try문과 그 외에서 사용가능
- throw new IndexOutOfRangeException(); // 강제로 예외 상황 발생
'C# > 강의 | Lecture' 카테고리의 다른 글
[C# 기본] 6. 클래스 (0) 2018.11.29 [C# 기본] 5. 파일입출력 (0) 2018.11.29 [C# 기본] 4. 배열 (0) 2018.11.29 [C# 기본] 2. 데이터형 (0) 2018.11.28 [C# 기본] 1. 개요 (0) 2018.11.27 댓글