내보내기(0) 인쇄
모두 확장

StringBuilder.AppendFormat 메서드 (IFormatProvider, String, Object[])

업데이트: 2007년 11월

0개 이상의 형식 사양을 포함하는 형식 지정 문자열을 이 인스턴스에 추가합니다. 각 형식 사양은 해당 개체 인수의 문자열 표현으로 바뀝니다.

네임스페이스:  System.Text
어셈블리:  mscorlib(mscorlib.dll)

public StringBuilder AppendFormat(
	IFormatProvider provider,
	string format,
	params Object[] args
)
public StringBuilder AppendFormat(
	IFormatProvider provider,
	String format,
	Object[] args
)
public function AppendFormat(
	provider : IFormatProvider, 
	format : String, 
	... args : Object[]
) : StringBuilder

매개 변수

provider
형식: System.IFormatProvider

문화권별 형식 지정 정보를 제공하는 IFormatProvider입니다.

format
형식: System.String

합성 형식 문자열입니다.

args
형식: System.Object[]

형식을 지정할 개체의 배열입니다.

반환 값

형식: System.Text.StringBuilder

추가 작업이 완료된 후 이 인스턴스에 대한 참조입니다. 추가 작업 후, 이 인스턴스에는 추가 작업 이전부터 있던 데이터가 포함되고 그 뒤에 형식 사양이 해당하는 개체 인수의 문자열 표현으로 바뀐 format의 복사본이 포함됩니다.

예외상황
ArgumentNullException

formatnull인 경우

FormatException

format이 잘못된 경우

ArgumentOutOfRangeException

이 인스턴스의 값이 커지면 MaxCapacity를 초과할 수 있는 경우

이 메서드는 .NET Framework의 합성 형식 지정 기능을 사용하여 개체 값을 해당 텍스트 표현으로 변환하고 이 표현을 현재 StringBuilder 개체에 포함합니다. .NET Framework에서는 광범위한 형식 지정 기능을 지원합니다. 이러한 지원에 대한 자세한 내용은 다음 형식 지정 항목을 참조하십시오.

형식 사양

형식 사양은 문자열 내에 포함되며 {N:FormatString} 형태로 표시됩니다. 여기서 N은 형식을 지정할 인수를 나타내는 번호(0부터 시작)이고, FormatString은 형식 문자열입니다. args[N]이 IFormattable을 구현하면 args[N].Format(format, null)이 형식을 지정하고, 그렇지 않으면 args[N].ToString( )이 형식을 지정합니다. args[N]이 null이면 그 자리에 빈 문자열이 사용됩니다.

provider 매개 변수는 NumberFormatInfo, DateTimeFormatInfo 또는 CultureInfo 개체와 같은 적절한 형식 공급자를 지정합니다. 형식 공급자에서는 소수 구분 기호 및 그룹 구분 기호에 사용할 문자나 금액 값의 통화 기호 철자 및 위치와 같은 정보를 제공합니다. provider 매개 변수가 null이면 현재 문화권에서 형식 공급자 정보를 가져옵니다.

공백으로 채우기

형식이 지정된 값을 왼쪽 또는 오른쪽에 맞출 수 있는 문자열 인수 내의 영역을 정의할 수 있습니다. 형식 사양에는 선택적 정수 필드인 {N[,M]:FormatString}이 있습니다. M의 크기는 영역의 최소 공백 수를 나타내고, M의 부호는 영역 내에서 값을 왼쪽(음수 값)에 맞출지 아니면 오른쪽(양수 값)에 맞출지를 나타냅니다.

기본 형식 지정

FormatString 구성 요소를 생략하면 N에 의해 지정된 인수의 ToString 메서드가 형식 사양을 바꾸는 데 사용됩니다. M을 지정하면 ToString의 결과가 위에서 설명한 대로 공백으로 채워집니다.

format에 할당된 문자열이 "Microsoft® .NET (Core Reference) 제품을 {0:####}개 구매해 주셔서 감사합니다."이고 arg[0]이 값이 123인 Int16이면 반환 값은 "Microsoft® .NET (Core Reference) 제품을 123개 구매해 주셔서 감사합니다."입니다.

format에 할당된 문자열이 "Brad의 개에는 {0,-8:G}마리의 벼룩이 있습니다."이고 arg[0]이 값이 42인 Int16이면 반환 값(여백 공간은 밑줄 표시)은 "Brad의 개에는 42______마리의 벼룩이 있습니다."입니다.

다음 코드 예제에서는 AppendFormat 메서드를 사용하는 방법을 보여 줍니다.

using System;
using System.Text;
using System.Globalization;

class Sample 
{
    static StringBuilder sb = new StringBuilder();

    public static void Main() 
    {
    int    var1   = 111;
    float  var2   = 2.22F;
    string var3   = "abcd";
    object[] var4 = {3, 4.4, 'X'};

    Console.WriteLine();
    Console.WriteLine("StringBuilder.AppendFormat method:");
    sb.AppendFormat("1) {0}", var1);
    Show(sb);
    sb.AppendFormat("2) {0}, {1}", var1, var2);
    Show(sb);
    sb.AppendFormat("3) {0}, {1}, {2}", var1, var2, var3);
    Show(sb);
    sb.AppendFormat("4) {0}, {1}, {2}", var4);
    Show(sb);
    CultureInfo ci = new CultureInfo("es-ES", true);
    sb.AppendFormat(ci, "5) {0}", var2);
    Show(sb);
    }

    public static void Show(StringBuilder sbs)
    {
    Console.WriteLine(sbs.ToString());
    sb.Length = 0;
    }
}
/*
This example produces the following results:

StringBuilder.AppendFormat method:
1) 111
2) 111, 2.22
3) 111, 2.22, abcd
4) 3, 4.4, X
5) 2,22
*/


// This example demonstrates the StringBuilder.AppendFormat method
import System.*;
import System.Text.*;
import System.Globalization.*;

class Sample
{
    private static StringBuilder sb = new StringBuilder();

    public static void main(String[] args)
    {
        int var1 = 111;
        float var2 = 2.22f;
        String var3 = "abcd";
        Object var4[] = { new Integer(3), new Double(4.4), new Character('X') };

        Console.WriteLine();
        Console.WriteLine("StringBuilder.AppendFormat method:");
        sb.AppendFormat("1) {0}", System.Convert.ToString(var1));
        Show(sb);
        sb.AppendFormat("2) {0}, {1}", System.Convert.ToString(var1), 
            System.Convert.ToString(var2));
        Show(sb);
        sb.AppendFormat("3) {0}, {1}, {2}", System.Convert.ToString(var1), 
            System.Convert.ToString(var2), System.Convert.ToString(var3));
        Show(sb);
        sb.AppendFormat("4) {0}, {1}, {2}", var4);
        Show(sb);
        CultureInfo ci = new CultureInfo("es-ES", true);
        sb.AppendFormat((IFormatProvider)ci, "5) {0}", 
            new Object[] { (System.Single)var2 });
        Show(sb);
    } //main

    public static void Show(StringBuilder sbs)
    {
        Console.WriteLine(sbs.ToString());
        sb.set_Length(0);
    } //Show
} //Sample
/*
This example produces the following results:

StringBuilder.AppendFormat method:
1) 111
2) 111, 2.22
3) 111, 2.22, abcd
4) 3, 4.4, X
5) 2,22
*/


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360

.NET Framework 및 .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

.NET Framework

3.5, 3.0, 2.0, 1.1, 1.0에서 지원

.NET Compact Framework

3.5, 2.0, 1.0에서 지원

XNA Framework

2.0, 1.0에서 지원

커뮤니티 추가 항목

추가
표시:
© 2014 Microsoft