SSISO Community

갤러리정

C#기초 - 데이터형식 - CSharp

주석
- 어플리케이션 코드에 대한 도움말이나 문서화 작업
- 단일 주석문 : //
- 구간 주석문 :
 /*
 주석내용
 */

- XML 주석문 : ///
  -> 주석문 생성 :  csc.exe 파일명.cs /doc:문서명.xml

 

에러종류
- 컴파일 에러
- 런타임 에러

 

예외처리 (Exception Handling)
- 어플리케이션에 에러가 발생했을때 처리할수 있는 코드를 준비
- 대부분 런타임 오류를 처리하고자 할때 사용
- try ~ catch

 

 try{
     Console.WriteLine("나눗셈의 결과는 {0}", i/j);
     Console.WriteLine("나눗셈 성공");
 }catch(Exception e){
     // catch 의 가로안에 e는 catch 블럭안에서 사용해야 한다.
     // 사용하지 않은경우 에러는 나지 않지만 경고가 뜸
     // 블럭안에서 e를 블럭에서 사용하지 않는다면 생략에도 가능
     // Console.WriteLine("0으로 나누려고 합니다.");
     Console.WriteLine(e.Message);
 }


기타
- ildasm.exe : 역어셈블러(C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin\ildasm.exe)
- WinCV : 클래스 뷰어( C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin\WinCV.exe)

 

데이터형식
- 데이터 타입(Data Type):  데이터 형태를 지정할 수 있게 하는것
- 데이터(Data) : 자료 그 자체. 상수
- 데이터 타입의 역할
    * 데이터가 가질 자료형을 지정한다.
    * 데이터가 가질 메모리 크기를 정한다.
    * 변수를 생성한다.

- 값 형식(Value Type) & 참조형식 (Reference Type)
  Stack                  managed Heap
- C#은 Strong-Type Language

-> 데이터타입을 나누는 기준은 크기가 정해져있느냐 정해져 있지 않느냐에 따라 다르다.


   '가' -> char타입 : 크기가 고정 - > Value Types
   "가나다..." -> string타입 : 크기가 일정치 않다, 사용자가 임의로 만들어서 사용

                  -> Reference Type

 

값형식
- Value Types : 내장형, 사용자 정의형
- 내장형 : int, float ...
- 사용자 정의형 : enum, struct
- 모든 값 형식의 변수는 값이 null 이면 안된다.

 

내장형 데이터 형식(Built-in Data Type)
- 기본 데이터 형식. 단순 데이터 형식
- C#에서의 내장형은 예약어 형식과 구조체 형식으로만 선언 가능
  int i; & System.int32 i;

 

숫자형(Numeric Type)
- 숫자형태로 되어있는 각종 데이터 형식
- 정수형식, 소수점이 들어간 형식, 지수형식등...

 

문자형(Char)
- 문자를 가지는 데이터 형식
- 문자형 & 문자열 형식
- C#에서 문자형은  Unicode(2bytes)

 

Boolean 형식
- 논리형식
- 'true' or 'false' -> 0 이나 1로 대체하여 사용할수 없다.

 

System.Object
- C#에서는 내장형 데이터 형식도 객체이다
- 모든 데이터 형식은 System.Object로부터 상속된 객체이다.

 

 * Equals() : 같은 객체인지 비교
 * GetHashCode() : 객체의 해시코드 값을 리턴
 * GetType() : 객체의 형 정보를 리턴
 * ToString() : 객체의 이름을 문자열로 리턴


사용자정의 데이터 형식

 

enum 데이터 형식
- Enumeration 약어
- 열거형
- 단어를 정수값에 매핑할 수 있도록 한다.
- 일련의 공통된 값들의 집합을 가질때 사용
- 서로 다른 형식의 집합을 struct 사용
- enum에서 정의되지 않은 값을 사용하면 컴파일 에러


 public enum Color{Red, Green, Blue};
  // Color의 Red = 0, Green =1, Blue = 2 로 자동적으로 int형으로 번호가 매핑됨 -> 암시적
  // public enum Color{Red=100, Green=200, Blue=300};

  // -> 명시적으로 번호를 부여하여 사용할수 있음.

 Color Color;
 colorRed = Color.Red;
 Console.WriteLine("{0}", colorRed);  // 결과  Red


 
colorBlue = (Color)1;
 Console.WriteLine("{0}", colorBlue );  // 결과 Blue

 

 public enum Color1 {Red = 100, Green, Blue};
  // 처음 값에면 번호를 매핑해주면 그다음부터는 첫번째값에서부터 자동증가한다.
  // Red = 100, Green = 101, Blue = 102

 

 public enum Color2 {Red, Green=100, Blue};
 // Red = 0, Green = 100, Blue = 101
 

struct형식
- 여러가지 다른 형태의 값들을 가지는 형식
- 보통 간단한 데이터 형식들을 저장하기 위해 사용

 

struct Employee
{
   public string firstName;
   public string lastName;
   public int age;
   public int height;
   public int weight;

}

 

static void structTest()
{
   Employee manager;


   manager.firstName = "홈";
   manager.lastName =  "길동";
   manager.age = 50;
   manager.height = 175;
   manager.weight = 75;

 

   Console.WriteLine("구조체 연습");
   Console.WriteLine("신상정보출력 : manager");
   Console.WriteLine("이름 : {0} {1}", manager.firstName, manager.lastName);
   Console.WriteLine("나이 : {0}", manager.age);
   Console.WriteLine("키 : {0}", manager.height);
   Console.WriteLine("몸무개 : {0}\n\n", manager.weight);

}

 

특수문자 코드
\' - 작은따옴표
\" - 큰 따옴표
\\ - 역슬래쉬
\0 - 널
\a - alert
\b - 백스페이스
\f - 폼피드
\n - 개행(New Line)
\r - 첫칸 옮기기(Carrage Return)
\t - 수직탭
\v - 수평탭
\u숫자 - 유니코드 출력


1043 view

4.0 stars