Language/C#
[C#] Convert.ToInt32() vs int.Parse()
Xenawn
2025. 2. 6. 23:00
Convert.ToInt32() vs int.Parse()
뭐가 다를까?
string a = "5";
// Convert.ToInt32() vs int.Parse() 를 비교해보자!
int b = Convert.ToInt32(a);
Console.WriteLine("Convert.ToInt32(a) 사용! "+b); // 5
int c = int.Parse(a);
Console.WriteLine("int.Parse(a) 사용! " + c);
// -출력-
//Convert.ToInt32(a) 사용! 5
//int.Parse(a) 사용! 5
이 부분에서는 둘 다 똑같다
char ➧ int 변환 가능한가?
char d = '2';
int e = Convert.ToInt32(d); // 2
int f = int.Parse(d); // 변환 불가능
Convert.ToInt32() 는 가능
int.Parse() 불가능, string만 변환 가능하다
null 처리
string str = null;
int nStr = Convert.ToInt32(str);
int nStr2 = int.Parse(str);
Console.WriteLine(nStr); // 0
Console.WriteLine(nStr2); // ArgumentNullExeption 발생!
ArgumentNullExeption는 "null이 될 수 없다"의 예외 발생
정리
int.Parse() ➧ char형 변환 불가! , null 변환시 ArgumentNullExeption 발생!
Conver.ToInt32() ➧ char형 변환 가능!, null 변환시 0으로 변환!