Int32.Parse(), Convert.ToInt32(), Int32.TryParse() 차이

RudinP·2023년 3월 30일
0

Study

목록 보기
18/222

백준을 풀 때 Int.Parse()를 사용했는데, Convert.ToInt32() 라는 방법도 있다는 것을 알고 차이점을 확인해보았다.

Int32.Parse()

string s1 = "1234";
string s2 = "1234.65";
string s3 = null;
string s4 = "123456789123456789123456789123456789123456789";

int result;
bool success;

result = Int.Parse(s1); // 1234
result = Int.Parse(s2); // FormatException
result = Int.Parse(s3); // ArgumentNullException
result = Int.Parse(s4); // OverflowException

Convert.ToInt32(string)

result = Convert.ToInt32(s1); // 1234
result = Convert.ToInt32(s2); // FormatException
result = Convert.ToInt32(s3); // 0
result = Convert.ToInt32(s4); // OverflowException

Int32.TryParse(string, out int)

success = Int32.TryParse(s1, out result); // success => true result => 1234
success = Int32.TryParse(s2, out result); // success => false result => 0
success = Int32.TryParse(s3, out result); // success => false result => 0
success = Int32.TryParse(s4, out result); // success => false result => 0

Int32.Parse와 Convert.ToInt32(string)의 차이

  • Int32.Parse :파라미터가 null일때 예외처리
  • Convert.ToInt32(string) : 파라미터가 null일때 0으로 리턴

Int32.TryParse

  • bool 로 변환 성공여부를 리턴해준다. 자체 예외처리 핸들링으로 안전하다.

참고블로그

profile
곰을 좋아합니다. <a href = "https://github.com/RudinP">github</a>

0개의 댓글