다음을 통해 공유


형식 지정 개요

업데이트: 2007년 11월

.NET Framework는 값을 표시에 적합한 문자열로 변환하기 위한 일반적이면서 사용자 지정이 가능한 형식 지정 메커니즘을 제공합니다. 예를 들어, 숫자 값의 형식을 16진수, 과학적 표기법 또는 사용자가 지정한 문장 부호로 자릿수가 구분되는 일련의 숫자 형식을 사용하여 지정할 수 있습니다. 날짜 및 시간은 특정 국가, 지역 또는 문화권에 맞게 형식을 지정할 수 있습니다. 열거형 상수는 숫자 값이나 이름으로 형식을 지정할 수 있습니다.

형식 문자열 및 형식 공급자를 지정하거나 기본값을 사용하여 형식 지정을 제어합니다. 형식 문자열은 값이 변환되는 방식을 나타내는 하나 이상의 형식 지정자를 포함합니다. 형식 공급자는 특정 형식을 변환하는 데 필요한 추가 제어, 대체 및 문화권 정보를 제공합니다.

IFormattable 인터페이스를 구현하여 .NET Framework에서 형식 문자열을 해석하는 방법을 재정의하고, IFormatProvider 인터페이스를 구현하여 직접 형식 공급자를 제공하고, ICustomFormatter 인터페이스를 구현하여 직접 형식을 지정할 수 있습니다.

.NET Framework는 하나 이상의 형식 문자열을 사용하여 결과 문자열에 형식이 지정된 하나 이상의 값을 포함시키는 합성 형식 지정 기능을 제공합니다. 그런 후 결과 문자열을 추가적으로 처리하거나 시스템 콘솔에 표시하거나 스트림에 쓸 수 있습니다.

형식 지정자

.NET Framework는 숫자, 날짜와 시간, 열거형의 형식을 지정하기 위한 표준 및 사용자 지정 형식 지정자를 정의합니다. 형식 지정자는 Console.WriteLine과 같이 출력 문자열의 형식을 지정하는 다양한 메서드, 특정 형식으로 된 ToString 메서드의 개별 오버로드, 그리고 ParseDateTime.ParseExact와 같이 입력 문자열의 구문을 분석하는 일부 메서드에서 사용됩니다.

숫자 데이터의 형식 지정에 대한 내용은 숫자 형식 문자열을 참조하십시오. 일반적으로 사용되는 숫자 형식 지정자에 대해서는 표준 숫자 형식 문자열을 참조하고 형식 문자열을 직접 만드는 데 사용할 수 있는 사용자 지정 형식 지정자에 대해서는 사용자 지정 숫자 형식 문자열을 참조하십시오.

날짜 및 시간의 형식 지정에 대한 자세한 내용은 날짜 및 시간 형식 문자열을 참조하십시오. 일반적으로 사용되는 날짜 및 시간 지정자에 대해서는 표준 DateTime 형식 문자열을 참조하고 형식 문자열을 직접 만드는 데 사용할 수 있는 사용자 지정 날짜 및 시간 형식 지정자에 대해서는 사용자 지정 DateTime 형식 문자열을 참조하십시오.

특정 날짜에서 요일을 추출하거나 그레고리오력이 아닌 달력을 사용하여 날짜를 표시하는 등의 특정 형식 지정 작업을 수행하는 방법에 대한 자세한 내용은 형식 지정 방법 항목을 참조하십시오.

열거형의 형식 지정에 대한 내용 및 표준 열거형 형식 지정자에 대해서는 열거형 형식 문자열을 참조하십시오.

구문 분석 및 형식 지정자

형식이 지정되는 동안 한 형식의 값은 문자열 표시로 변환됩니다. 형식 지정과 반대 과정으로 진행되는 구문 분석 중에는 문자열 표시에서 데이터 형식이 만들어집니다. 형식 공급자는 구문 분석이 수행되는 방법을 제어하며 DateTime.ParseExact와 같은 일부 메서드는 문자열 표현의 예상되는 형식을 나타내는 형식 지정자 매개 변수를 사용합니다. 구문 분석에 대한 자세한 내용은 문자열 구문 분석을 참조하십시오.

ToString 및 형식 지정자

.NET Framework는 형식의 기본 ToString 메서드를 오버로드할 수 있도록 지원합니다. 이 메서드는 기본적인 형식 지정을 수행하는데, 형식 지정자 매개 변수를 사용하여 값의 형식이 지정되는 방법을 나타내는 특수 버전의 ToString을 사용합니다. 자세한 내용은 기본 형식 지정IFormattable 인터페이스를 참조하십시오.

형식 공급자

형식 공급자는 숫자 문자열 형식을 지정할 때 소수점으로 사용할 문자나 DateTime 개체 형식을 지정할 때 사용할 분리 문자와 같은 정보를 제공합니다. 형식 공급자는 형식 지정자에서 형식을 지정할 때 사용하는 문자를 정의하지만, 형식 지정자 자체를 정의하지는 않습니다.

형식 공급자는 IFormattable 인터페이스에서 필요로 하는 ToString의 오버로드로 전달하거나, 형식 공급자가 전달되지 않은 경우에는 텍스트 형식을 지정하는 데 사용하는 메서드로 미리 결정할 수 있습니다.

형식 공급자가 전달되지 않으면, 이 정보를 추론하거나 .NET Framework에 포함된 표준 형식 공급자 중 하나에서 가져옵니다. 일반적으로 IFormattable을 구현하는 클래스 또한 형식 지정자나 형식 공급자만 수용하는 ToString의 오버로드를 제공합니다. 매개 변수를 사용하지 않는 기본 ToString 메서드는 Object 클래스에서 상속됩니다.

숫자 데이터의 미리 정의된 형식 공급자에 대한 자세한 내용은 NumberFormatInfo를 참조하십시오. 날짜 및 시간의 미리 정의된 형식 공급자에 대한 내용은 DateTimeFormatInfo를 참조하십시오. 사용자 지정 형식 공급자 또는 다른 문화권의 형식 공급자를 만드는 방법에 대한 자세한 내용은 CultureInfo, 다른 문화권의 형식 지정방법: 사용자 지정 숫자 형식 공급자 정의 및 사용을 참조하십시오.

합성 형식 지정

String.Format 등의 메서드와 System.ConsoleSystem.IO.TextWriter의 출력 메서드에서 지원하는 .NET Framework 합성 형식 지정 기능은 소스 문자열에 포함된 인덱싱된 각 형식 항목을 값 목록에 있는 형식이 지정된 해당 요소로 바꿉니다. 자세한 내용은 합성 형식 지정을 참조하십시오.

참고 항목

개념

숫자 형식 문자열

날짜 및 시간 형식 문자열

열거형 형식 문자열

형식 문자열 사용자 지정

합성 형식 지정

형식 지정 방법 항목

참조

IFormattable

IFormatProvider

ICustomFormatter

기타 리소스

형식 지정

문자열 구문 분석

기본적인 문자열 작업