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으로 변환!