탐구
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 |
|---|
댓글