C\#프로 그래 밍 독학 데이터 형식 과 변수 3

데이터 형식 과 변수의 기본 개념 을 이해 한 후에 우 리 는 데이터 유형의 전환 과 포장 과 분리 에 대해 토론 합 니 다!포장 과 포장 을 취소 하면 우 리 는 유형 시스템 을 통일 적 으로 고찰 할 수 있 고 그 중에서 모든 유형의 값 은 최종 적 으로 대상 에 따라 처리 할 수 있다.
데이터 형식 변환
프로 그래 밍 을 할 때 우 리 는 한 유형의 변 수 를 다른 데이터 형식 으로 바 꾸 는 것 을 만 날 수 있 습 니 다.우 리 는 이 를 데이터 형식의 변환 이 라 고 부 릅 니 다.C\#데이터 형식의 변환 은 다음 과 같은 두 가지 방식 이 있 습 니 다.
1.기본 보안 데이터 형식 변환
기본 안전 한 데이터 형식 변환:우 리 는 암시 적 데이터 형식 변환 이 라 고 부 릅 니 다.무엇이 암시 적 데이터 형식 변환 입 니까?암시 적 데이터 형식 변환 은 데이터 형식의 낮은 범위(C\#데이터 형식 과 변수 1 의 데이터 형식 범위 참조)에서 높 은 범위 의 데이터 형식 으로 전환 하 는 것 이다.예 를 들 면:

int a = 200; //int     -2147483648~2147483647 
long b = a; //long     -9223372036854775808~9223372036854775807                   200
//                               
Console.WriteLine("b = "+b.ToString());
실행 결 과 는"b=200"이라는 말 을 출력 합 니 다!

2.강제 데이터 형식 변환
암시 적 데이터 형식의 전환 을 이해 한 후에 우 리 는 강제 적 인 유형 전환 을 알 게 되 었 다.강제 유형 전환 은 암시 적 데이터 형식 전환 규칙 에 만족 하지 않 을 때 데이터 형식 전환 방법 으로 데이터 형식 전환 을 강제 하면 반드시 오 류 를 일 으 킬 수 있다.예 를 들 어:
높 은 범위 의 데이터 형식(높 은 범위 로 약칭)을 낮은 범위 의 데이터 형식(낮은 범위 로 약칭)으로 변환 할 때'높 은'변수의 값 이'낮은'데이터 형식의 범 위 를 초과 할 때 우 리 는 데이터 형식 이 넘 쳤 다 고 약칭 한다.코드 는 다음 과 같 습 니 다:

long a = 3333333333; //long     -9223372036854775808~9223372036854775807 ->3333333333        
int b = (int)a; //int     -2147483648~2147483647 -> 3333333333                   
Console.WriteLine("a =" + a.ToString());
Console.WriteLine("b ="+b.ToString());//                 
출력 결 과 는 다음 과 같 습 니 다.

2.포장 과 분해
기본 데이터 형식의 전환 을 이해 한 후에 우 리 는 값 유형 과 인용 유형 간 의 전환 을 살 펴 보 았 습 니 다.우 리 는 포장 과 분리 라 고 부 릅 니 다.
1.포장
상자 에 넣 으 면 값 형식 을 참조 형식 으로 변환 합 니 다:

int a = 10;
object obj = a; //          ,    
포장 작업 을 할 때 운영 할 때 위탁 관리 더미 에 공간 을 분배 하고 a 중의 10 을 저장 하 며 이 공간의 포장 유형 은 int 임 을 표시 합 니 다.
그림:

2.상 자 를 뜯 는 다
그 상 자 를 뜯 는 것 은 포장 과 반대로 인용 형식 을 회 값 형식 으로 복원 하 는 것 이다.

int a = 10;
object obj = a; //             
int b = (int)obj; //              
상 자 를 뜯 을 때 우 리 는 밀 린 10 강제 형식 을 스 택 공간 에 변환 합 니 다(그림 에서 int b 를 대표 합 니 다).
그림 과 같다

3.포장 및 분해 작용
int float double 형식의 값 을 콘 솔 에 표시 하 는 방법 이 필요 합 니 다.일반적으로 우리 의 디자인 방법 은 다음 과 같다.

class MyProgram
{
  //    int    
  public static void ShowInt(int a)
  {
    Console.WriteLine(" a ="+a.ToString());
  }
  
  //    float    
  public static void ShowFloat(float a)
  {
    Console.WriteLine(" a ="+a.ToString());
  }
  
  //    double    
  public static void ShowDouble(double a)
  {
    Console.WriteLine(" a ="+a.ToString());
  }
  
  static void Main(string[] args)
  {
    int a = 10;
    ShowInt(a);
  
    float b = 2.2;
    ShowFloat(b);
  
    double c = 2.22;
    ShowDouble(c);
  }
}
그렇다면 이 럴 때 저 는 string,short,char 등 유형 을 지원 해 야 할 때 모든 유형 에 표시 하 는 방법 을 정의 해 야 하지 않 을까요?이때 우 리 는 포장 과 분해 개념 을 도입 한 방법 디자인 을 살 펴 보 았 다.

class MyProgram
{
  //       object
  public static void ShowObject(object obj)
  {
    Console.WriteLine("obj ="+obj.ToString());
  }
  
  
  static void Main(string[] args)
  {
    int a = 10;
    ShowObject(a); //int a    
  
    float b = 2.2;//float b    
    ShowObject(b);
  
    double c = 2.22;//double c    
    ShowObject(c);
  }
}
이렇게 하면 우 리 는 앞으로 아무리 많은 데이터 형식 을 확장 해 야 하 더 라 도 이 방법 을 만족 시 킬 수 있 을 것 이다.
포장 은 쓰레기 회수 더미 에 값 형식 을 저장 하 는 데 사용 된다.포장 은 값 형식 이 object 형식 이나 이 값 형식 으로 이 루어 지 는 모든 인터페이스 형식의 암시 적 변환 입 니 다.값 형식 포장 은 더미 에 대상 인 스 턴 스 를 할당 하고 이 값 을 새로운 대상 에 복사 합 니 다.
C\#데이터 형식 과 변 수 는 여기까지 입 니 다.위의 세 편의 글 이 여러분 의 학습 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기