문법: 연산자, 제어문 반복문 점프문 *예외처리문
+ - ! ~ ++ --
!연산자는 bool형에만 사용할수있다. (c++에서는 !5 가능)
* / %
string에서 +연사자 사용하면 문자열로 변환 ex) 정수/부동 + "문자열" = "문자열"
<< >> >= <= > < = = ! = 관계 연산자의 결과는 항상 true flase (c++에서는 0,1)
is 연산자 : 형식 호환을 조사하는 연산자
A is B 호환이면 true 안되면 false 를 리턴한다.
사용예) 박싱/언박싱 변환 (오브젝트로 바꿀수 있는지 없는지,참조변환에사용)
float nValue = 10;
if (nValue is int)
Console.WriteLine("호환됨");
else
Console.WriteLine("호환 안 됨");
as 연산자: 형변환과 변환조사, 캐스트 연산자의 역할과 불변환은 null 리턴. nullable형
참조 박싱 언박싱 null형에 사용.
결과형 = 참조형,언박싱,박싱 as 변환형(float)
string str1 = "as 연산자";
object obj = str1;
string str2 = obj as string;
Console.WriteLine(str2);
string은 Null값을 저장할수있다.
& ^ | && || ? :
null 병합 연산자: ? ? (null조사) C = A ? ? B
A가 null이 아니면 A를 C에 대입, A가 null이면 B를 C에 대입.
if문: c++ if( 0,0이외값), c#에서는 무조건 true, false;
switch, case: 정수, 문자상수, *문자열 switch(string)가능
반복문: while(true) 상수안됨.
foreach (처음부터 끝까지 순차적으로 값을 반복하여 읽는 역할.) 읽기전용. 배열,컬렉션(객체,클래스단위가능)
foreach( 데이터형 변수 in 배열명(컬렉션명)) {}
ArrayList 사용하려면 using System.Collections;
*예외 처리문:
예외란? clr에서 런타임시 발생할 수 있는 오류.
if~else , try~ catch (프로그램이 다운되지않고 실행되게 해준다.)
try{//예외가 발생할수 있는코드}
catch(예외처리객체(에러원인정보 갖고있는객체) e) { //예외 처리}
System.Esception 파생 객체만 사용.
OverFlowException,
FormatException,
DivideByZeroException,
FileNotFoundException
try문 안에서 *초기화한 변수를 try문 밖에서 사용할수 없다.
finally : 예외 발생과 상관없이 항상 실행되는 구문. 네트워크,파일입출력시 반드시닫을때 필요.
try
{
Console.WriteLine("try 문에서 예외 발생시킵니다");
}
catch (IndexOutOfRangeException e)
{
Console.WriteLine("배열 인덱스 에러 발생");
/Console.WriteLine(e.ToString());
}
catch (OverflowException e)
{
Console.WriteLine("123");
Console.WriteLine(e.ToString());
}
finally
{
Console.WriteLine("finally 구문 입니다.");
}
foreach (var m in qwe)
{
Console.Write(m + 1);
}
throw: 예외 상황을 임의로 발생시키는 역할.
System.Exception 파생된 객체만 사용
try문과 그 외에서 사용가능. throw new IndexOutOfRangeException(); 이런식으로 사용.
'C#, ASP.NET, CORE, MVC' 카테고리의 다른 글
5강. 클래스 OOP (1) | 2018.07.19 |
---|---|
4강. 파일 입출력 (0) | 2018.07.19 |
3강. 배열 (2) | 2018.07.19 |
[C#] 박싱 & 언박싱 (0) | 2018.07.18 |
1강. 닷넷프레임워크와 C# (2) | 2018.07.18 |