Convert.ToString() 함수와 ToString() 함수
C#에서 특정 값을 문자열로 변환하기 위해 Convert.ToString()
함수 또는 ToString()
함수를 사용합니다.
int age = 30;
Console.WriteLine("Convert.ToString(): " + Convert.ToString(age));
// Convert.ToString(): 30
Console.WriteLine("ToString(): " + age.ToString());
// ToString(): 30
실행 결과는 동일하지만, 두 함수는 차이점이 존재합니다.
이번 포스팅에서는 Convert.ToString()
함수와 ToString()
함수의 차이점을 소개합니다.
Convert.ToString() 함수와 ToString() 함수의 차이점
두 함수는 null 처리 방식이 다릅니다. Convert.ToString()
함수는 값이 null인 경우 빈 값으로 반환하는데, ToString()
함수는 null을 처리하는 로직이 존재하지 않습니다.
다음과 같이 문자열 변수에 null을 할당 후 ToString()
함수를 호출하면, NullReferenceException 예외가 발생합니다.
string age = null;
Console.WriteLine("ToString(): " + age.ToString());
실행 결과
반면에 Convert.ToString()
함수는 NullReferenceException 예외가 발생하지 않습니다.
string age = null;
Console.WriteLine("Convert.ToString(): " + Convert.ToString(age));
// Convert.ToString():
Convert.ToString()
함수는 null 값을 전달한 경우 빈 값으로 반환합니다.
ToString()
함수는 호출하는 객체가 null이 아닐 것으로 예상하기 때문에 null 처리를 하지 않습니다. 따라서 ToString()
함수보다 Convert.ToString()
함수를 사용하는 것이 더 안전합니다.
만약, ToString()
함수를 사용한다면 함수를 호출하기 전에 객체가 null인지 체크해야 하는 로직을 추가해야 합니다.
반응형
'C#' 카테고리의 다른 글
[C#]ToString 재정의 (0) | 2022.01.09 |
---|---|
[C#]Equals 재정의 (0) | 2022.01.09 |
[C#]checked, unchecked 키워드 (0) | 2021.12.29 |
[C#]정적 멤버(static member), 비정적 멤버(Non-static member) (2) | 2021.12.25 |
[C#]const와 readonly 차이점 (1) | 2021.12.25 |
댓글