백준을 풀 때 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