프로그래밍/C#

Convert.ToString()과 ToString()의 차이

어? 2024. 8. 19.

탐구

Convert.ToString(object)

 

  • Null 처리: Convert.ToString()은 매개변수가 null일 때 "null" 문자열을 반환하지 않고, 빈 문자열이나 null을 반환
  • 형변환: Convert.ToString()은 내부적으로 형변환을 수행하기 때문에, 객체가 null이 아니면서도 특정 형식으로 변환 가능한 경우, 그 형식으로 변환한 값을 문자열로 반환
  • 안정성: 따라서 Convert.ToString()은 null 참조 오류를 피할 수 있는 더 안전한 방법
string name = null;
string result = Convert.ToString(name); // result는 빈 문자열("")

Object.ToString()

 

  • Null 처리: ToString()을 호출하는 객체가 null일 경우, NullReferenceException이 발생
  • 형변환: ToString() 메서드는 모든 객체에 대해 기본적으로 사용할 수 있지만, 객체가 null일 경우에는 호출할 수 없음. 그렇기 때문에 Null 체크가 필요한 경우가 많음
  • 오버라이딩 가능: 객체가 특정 클래스의 인스턴스인 경우, 해당 클래스에서 ToString() 메서드를 오버라이드하여 원하는 형식의 문자열을 반환할 수 있음
string name = null;
string result = name.ToString(); // NullReferenceException 발생

 

 

 

결론

 

  • Convert.ToString()은 null 참조를 처리하며 안전하게 문자열로 변환할 수 있는 방법
  • ToString()은 객체가 null이 아닌 경우에 사용하는 것이 좋으며, 클래스를 오버라이드하여 커스텀 문자열 표현을 제공

 

커스텀 문자열 표현 예시)

DateTime date = DateTime.Now;
string formattedDate = date.ToString("yyyy-MM-dd"); 
// "2024-08-19"과 같은 형식으로 출력

DateTime date = DateTime.Now;
string formattedDate = Convert.ToString(date);
// 기본 형식인 "8/19/2024 12:00:00 AM"과 같은 형식으로 출력

 

Object.ToString() 에 관하여

Object.ToString 메서드 (System) | Microsoft Learn

 

Object.ToString 메서드 (System)

현재 개체를 나타내는 문자열을 반환합니다.

learn.microsoft.com

 

'프로그래밍 > C#' 카테고리의 다른 글

C# 공부를 시작하며...  (0) 2024.08.19

댓글