정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

String.Format 메서드

2013-12-13

지정된 문자열의 각 형식 항목을 해당 개체의 값에 맞는 텍스트로 바꿉니다.

이 멤버는 오버로드됩니다. 구문, 사용법 및 예제를 비롯하여 이 멤버에 대한 자세한 내용을 보려면 오버로드 목록에서 이름을 클릭합니다.

  이름설명
Public 메서드 정적 멤버 Format(String, Object) 지정된 문자열에 있는 하나 이상의 형식 지정 항목을 지정된 개체의 문자열 표현으로 바꿉니다.
Public 메서드 정적 멤버 Format(String, Object[]) 지정된 문자열에 있는 형식 지정 항목을 지정된 배열에 있는 해당 개체의 문자열 표현으로 바꿉니다.
Public 메서드 정적 멤버 Format(IFormatProvider, String, Object[]) 지정된 문자열의 형식 항목을 지정된 배열에 있는 해당 개체의 값에 맞는 텍스트로 바꿉니다. 지정된 매개 변수에서 문화권별 형식 정보를 제공합니다.
Public 메서드 정적 멤버 Format(String, Object, Object) 지정한 문자열의 형식 항목을 지정한 두 개체의 문자열 표현으로 대체합니다.
Public 메서드 정적 멤버 Format(String, Object, Object, Object) 지정된 문자열에 있는 형식 지정 항목을 지정된 세 개체의 문자열 표현으로 바꿉니다.
맨 위

Format 메서드의 각 오버로드는 [87b7d528-73f6-43c6-b71a-f23043039a49]을 사용하여 형식 항목이라는 인덱싱된 자리 표시자(0부터 시작)를 합성 형식 문자열에 포함합니다. 런타임에 각 형식 항목은 매개 변수 목록에서 해당하는 인수를 나타내는 문자열로 바뀝니다. 인수 값이 null이면 String.Empty로 바뀝니다. 예를 들어 Format 메서드에 대한 다음 호출은 세 개의 형식 항목 {0}, {1}, {2}가 있는 형식 문자열과 세 개의 항목이 있는 인수 목록을 포함합니다.


DateTime dat = new DateTime(2012, 1, 17, 9, 30, 0); 
string city = "Chicago";
int temp = -16;
string output = String.Format("At {0} in {1}, the temperature was {2} degrees.",
                              dat, city, temp);
inputBlock.Text += output;
// The example displays the following output:
//    At 1/17/2012 9:30:00 AM in Chicago, the temperature was -16 degrees.   


형식 항목은 다음 구문을 갖습니다.

{index[,alignment][ :formatString] }

대괄호는 선택적 요소를 나타냅니다. 여는 및 닫는 대괄호는 필수입니다. 형식 항목은 다음 요소를 포함합니다.

index

해당 문자열 표현이 문자열의 이 위치에 포함되는 인수의 인덱스(0부터 시작).

alignment

인수가 삽입되는 필드의 전체 길이와 필드가 오른쪽 맞춤(양의 정수)인지 왼쪽 맞춤(음의 정수)인지를 나타내는 부호 있는 정수 alignment를 생략하면 해당 인수의 문자열 표현이 선행 및 후행 공백 없는 필드에 삽입됩니다.

formatString

해당 인수의 결과 문자열 형식을 지정하는 형식 문자열 formatString을 생략하면 해당 인수의 매개 변수 없는 ToString 메서드가 문자열 표현을 생성하기 위해 호출됩니다. formatString이 있으면 형식 항목이 참조하는 인수는 IFormattable 인터페이스를 구현해야 합니다. 형식 문자열을 지원하는 형식은 다음을 포함합니다.

참고참고:

형식 문자열에 리터럴 여는 중괄호나 닫는 중괄호를 포함하려면 [87b7d528-73f6-43c6-b71a-f23043039a49] 문서의 "이스케이프 중괄호" 섹션을 참조하세요.

다음 예제에서는 형식 항목의 선택적 요소를 사용하여 형식이 지정된 출력을 생성하는 방법을 보여 줍니다.


using System;

public class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      // Create array of 5-tuples with population data for three U.S. cities, 1940-1950.
      Tuple<string, DateTime, int, DateTime, int>[] cities = 
          { Tuple.Create("Los Angeles", new DateTime(1940, 1, 1), 1504277, 
                         new DateTime(1950, 1, 1), 1970358),
            Tuple.Create("New York", new DateTime(1940, 1, 1), 7454995, 
                         new DateTime(1950, 1, 1), 7891957),  
            Tuple.Create("Chicago", new DateTime(1940, 1, 1), 3396808, 
                         new DateTime(1950, 1, 1), 3620962),  
            Tuple.Create("Detroit", new DateTime(1940, 1, 1), 1623452, 
                         new DateTime(1950, 1, 1), 1849568) };

      // Display header
      string header = String.Format("{0,-12}{1,8}{2,12}{1,8}{2,12}{3,14}\n",
                                    "City", "Year", "Population", "Change (%)");
      outputBlock.Text += header + Environment.Newline;
      string output;      
      foreach (var city in cities) {
         output = String.Format("{0,-12}{1,8:yyyy}{2,12:N0}{3,8:yyyy}{4,12:N0}{5,14:P1}",
                                city.Item1, city.Item2, city.Item3, city.Item4, city.Item5,
                                (city.Item5 - city.Item3)/city.Item3 * 1.0);
         outputBlock.Text += output + Environment.Newline;
      }
   }
}
// The example displays the following output:
//    City            Year  Population    Year  Population    Change (%)
//    
//    Los Angeles     1940   1,504,277    1950   1,970,358        31.0 %
//    New York        1940   7,454,995    1950   7,891,957         5.9 %
//    Chicago         1940   3,396,808    1950   3,620,962         6.6 %
//    Detroit         1940   1,623,452    1950   1,849,568        13.9 %


표시: