C#의 모든 클래스 또는 구조체는 클래스를 Object 암시적으로 상속합니다. 따라서 C#의 모든 개체는 해당 개체의 ToString 문자열 표현을 반환하는 메서드를 가져옵니다. 예를 들어 형식 int
의 모든 변수에는 ToString
해당 내용을 문자열로 반환할 수 있는 메서드가 있습니다.
int x = 42;
string strx = x.ToString();
Console.WriteLine(strx);
// Output:
// 42
사용자 지정 클래스 또는 구조체를 만들 때, 클라이언트 코드에 형식에 대한 정보를 제공하기 위해 ToString 메서드를 재정의해야 합니다.
메서드와 함께 ToString
서식 문자열 및 다른 형식의 사용자 지정 서식을 사용하는 방법에 대한 자세한 내용은 형식 서식을 참조하세요.
중요합니다
이 메서드를 통해 제공할 정보를 결정할 때는 신뢰할 수 없는 코드에서 클래스 또는 구조체를 사용할지 여부를 고려합니다. 악성 코드로 악용될 수 있는 정보를 제공하지 않도록 주의해야 합니다.
클래스 또는 구조체에서 ToString
메서드를 재정의하려면 다음을 수행합니다.
ToString
메서드를 다음 수정자 및 반환 형식으로 선언합니다.public override string ToString(){}
문자열을 반환할 수 있도록 메서드를 구현합니다.
다음 예제에서는 클래스의 특정 인스턴스와 관련된 데이터 외에 클래스의 이름을 반환합니다.
class Person { public string Name { get; set; } public int Age { get; set; } public override string ToString() { return "Person: " + Name + " " + Age; } }
다음 코드 예제와 같이
ToString
메서드를 테스트할 수 있습니다.Person person = new() { Name = "John", Age = 12 }; Console.WriteLine(person); // Output: // Person: John 12
참고하십시오
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET