Programing/C#

형변환 정리, cast/as/is비교

2023. 7. 26. 12:50
목차
  1. 형변환 정리 Cast/as/is 비교
  2. 형변환정리
  3. 1. 암시적 형변환 (Implicit Casting)
  4. 2. 명시적 형변환 (Explicit Casting)
  5. 형변환 방법
  6. 1. 명시적 형변환(Casting Operator)
  7. 2. Convert 클래스 사용
  8. 3.Parse 메서드
  9. 4. TryParse 메서드
  10. 5. as 연산자
  11. 6. is연산자
  12. 정리

안녕하세요 인터럽트입니다.

이번 포스팅에서는 C#에서 형변환 하는 법과 각 방법들의 특징들을 비교해서 정리하겠습니다.

 

C# 형변환 정리
cast/as/is 비교

형변환 정리 Cast/as/is 비교

형변환정리

형변환이란 변수나 데이터의 자료형을 다른 자료형으로 변환하는 것을 의미합니다. 프로그래밍 언어에서는 데이터를 추리하거나 계산하기 위해 서로 다른 자료형 간에 형변환을 하는 경우가 많습니다. 이를 통해 원하는 형태로 변환하거나 연산을 수행할 수 있습니다.

형변환에는 암시적 형변환(Implicit Casting)과 명시적 형변환(Explicit Casting)으로 나눌 수 있습니다.

 

반응형

1. 암시적 형변환 (Implicit Casting)

언어가 자동으로 형변환을 수행하는 것을 의미합니다. 예를 들어 정수와 실수를 연산할 때 몇몇 언어는 자동으로 정수를 실수로 형변환하여 연산을 수행하는데 이러한 형변환을 암시적 형변환이라고 합니다.

1
2
3
4
//프로그래밍 언어가 자동으로 정수형을 실수형으로 형변환하여 연산함
int t1 = 10;
double t2 = 3.14;
console.write(t1 * t2);    //output : 31.4
cs

 

2. 명시적 형변환 (Explicit Casting)

개발자가 직접 형변환을 지정하는 것을 의미합니다.

1
2
3
4
//개발자가 직접 형변환을 지정하는 것을 의미합니다.
int t1 = 10;
double t2 = 3.14;
console.write((double)t1 * t2); //output : 31.4
cs

 

형변환 방법

C#에서는 명시적 형변환을 위해 몇 가지 방법을 제공합니다.

1. 명시적 형변환(Casting Operator)

C#에서는 다른 자료형으로 명시적 형변환을 위해 캐스팅 연산자를 사용합니다. 캐스팅 연산자는 원하는 자료형을 괄호 안에 명시해서 사용할 수 있습니다.

1
2
3
//int를 double로 명시적 형변환, 실패하면 예외발생
int intValue = 10;
double doubleValue = (double)intValule;
cs

 

2. Convert 클래스 사용

C#의 Convert 클래스는 다양한 데이터 형식 간의 형변환을 제공합니다. 

1
2
3
//문자열을 날짜 형식으로 형변환, 실패하면 예외발생
string stringValue = '2023-07-26';
DateTime dateValue = Convert.ToDateTime(stringValue);
cs
반응형

 

3.Parse 메서드

문자열을 기본 데이터 형식으로 변환하는 데 사용합니다. (int, double, bool 등)

Convert와 비슷하지만 파싱은 더 간한단 형태의 데이터만 변환 가능합니다.

1
2
3
//문자열을 double로 형변환, 실패하면 예외발생
string stringValue = "3.14";
double doubleValue = double.Parse(stringValue);
cs

 

4. TryParse 메서드

Parse와 비슷하지만 변환 실패 시 예외가 발생하지 않고 성공 여부를 bool값으로 반환합니다.

변환에 성공하면 true, 실패하면 false를 반환합니다.

1
2
3
4
5
//문자열을 int로 변환하여 intValue에 담고, 성공여부를 result변수에 저장합니다.
//성공,실패여부를 bool형식으로 return하기 때문에 예외 발생안함
string stringValue = "123";
int intValue;
bool result = int.tryParse(stringValue, out intValue);
cs

 

5. as 연산자

as연산자는 참조 형식의 형변환에 사용합니다.

참조형식이 일치하지 않을 경우 null을 반환하며, 예외를 발생시키지 않습니다.

as연산자는 형변환을 시도하며 형변환이 실패하면 null을 반환합니다.

1
2
3
//string형식을 int형식으로 변환, 형변환 실패해도 예외발생안함
string stringValue = "123";
int intValue = stringValue as int;
cs

 

6. is연산자

is연산자는 주어진 객체가 특정 형식과 호환되는지 검사합니다. is연산자를 사용하여 형변환을 시도하기 전에 객체가 원하는 형식과 호환되는지 먼저 확인할 수 있습니다.

is연산자는 bool값을 반환하며 호환하면 true 아니면 false를 반환합니다. 

반응형

 

정리

  • 1, 2번은 넓은 범위의 형변환이 가능하나 예외가 발생함
  • 3번은 기본형변환만 가능하고 예외가 발생함
  • 4번은 기본형변환만 가능하고 예외가 발생안함
    가급적 예외발생을 고려해서 Parse보다는 TryParse를 사용하는 것을 권장합니다.
  • 5, 6번은 넓은 범위의 형변환이 가능하고 예외가 발생안함

 

상황에 맞게 형변환 방식을 선택해서 사용하시면 될 것 같습니다.

 

읽어주셔서 감사합니다.

  1. 형변환 정리 Cast/as/is 비교
  2. 형변환정리
  3. 1. 암시적 형변환 (Implicit Casting)
  4. 2. 명시적 형변환 (Explicit Casting)
  5. 형변환 방법
  6. 1. 명시적 형변환(Casting Operator)
  7. 2. Convert 클래스 사용
  8. 3.Parse 메서드
  9. 4. TryParse 메서드
  10. 5. as 연산자
  11. 6. is연산자
  12. 정리
'Programing/C#' 카테고리의 다른 글
  • [컨벤션]C# 컨벤션(코딩 스타일)
  • C# 헷갈리는 문법정리, const/readonly/protected
  • C# 윈도우 특정 폴더 Path 구하기
  • Closure(클로저)
Interrrupt
Interrrupt
프로그래밍, 개발, IT, 일상
Interrrupt
일상의 인터럽트
Interrrupt
전체
오늘
어제
반응형
  • 분류 전체보기 (78)
    • Programing (26)
      • C# (12)
      • WPF-FrameWork (5)
      • JavaScript (7)
      • React-FrameWork (2)
    • DB (14)
      • 오라클 (14)
    • ETC (5)
      • 기타 (4)
      • 자료구조 (1)
      • 마크업 (1)
    • Tools (4)
    • 토이프로젝트 (4)
      • C# WPF로 자동매매프로그램 만들기 (4)
    • OS (2)
      • 리눅스 (1)
      • Window11 (1)
    • CS지식 (8)
      • 프론트엔드 (4)
      • 백엔드 (4)
    • 일상 (12)
      • 취미 (3)
      • 맛집 (9)
hELLO · Designed By 정상우.
Interrrupt
형변환 정리, cast/as/is비교
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.