이 항목은 아직 평가되지 않았습니다.- 이 항목 평가

StringBuilder.Append 메서드 (Char[], Int32, Int32)

2013-12-13

유니코드 문자의 지정된 하위 배열에 대한 문자열 표현을 이 인스턴스의 끝에 추가합니다.

Namespace:  System.Text
어셈블리:  mscorlib(mscorlib.dll)
public StringBuilder Append(
	char[] value,
	int startIndex,
	int charCount
)

매개 변수

value
형식: System.Char []
문자 배열입니다.
startIndex
형식: System.Int32
value 안의 시작 위치입니다.
charCount
형식: System.Int32
추가할 문자 수입니다.

반환 값

형식: System.Text.StringBuilder
추가 작업이 완료된 후 이 인스턴스에 대한 참조입니다.
예외조건
ArgumentNullException

valuenull이고 startIndexcharCount가 0이 아닌 경우.

ArgumentOutOfRangeException

charCount가 0보다 작은 경우

-또는-

startIndex가 0보다 작은 경우

-또는-

startIndexcharCount의 합이 value의 길이보다 작은 경우

-또는-

이 인스턴스의 값이 커지면 최대 용량을 초과할 수 있는 경우

이 메서드는 현재 인스턴스에 value의 지정된 문자 범위를 추가합니다. valuenull이고 startIndexcount가 모두 0이면 변경되지 않습니다.

Append 메서드는 이 클래스의 기존 인스턴스를 수정하며, 새 클래스 인스턴스를 반환하지 않습니다. 이로 인해 기존 참조의 메서드 또는 속성을 호출할 수 있으며 다음 예제에서 볼 수 있듯이 StringBuilder 개체에 반환 값을 할당할 필요는 없습니다.


char[] chars = { 'a', 'b', 'c', 'd', 'e'};
System.Text.StringBuilder sb = new System.Text.StringBuilder();
int startPosition = Array.IndexOf(chars, 'a');
int endPosition = Array.IndexOf(chars, 'c');
if (startPosition >= 0 && endPosition >= 0) {
   sb.Append("The array from positions ").Append(startPosition).
             Append(" to ").Append(endPosition).Append(" contains ").
             Append(chars, startPosition, endPosition + 1).Append(".");
   outputBlock.Text += sb + Environment.NewLine;
}             
// The example displays the following output:
//       The array from positions 0 to 2 contains abc.


필요에 따라 이 인스턴스의 용량이 조정됩니다.

다음 예제에서는 StringBuilder 개체에 다양한 데이터 형식 값을 추가하는 방법을 보여 줍니다.


using System;
using System.Text;

class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      string sep = ", ";
      string head = "<<<";
      char[] tail = { '>', '>', '>' };
      char dash = '-';
      Object obj = 0;

      bool xBool = true;
      byte xByte = 1;
      short xInt16 = 2;
      int xInt32 = 3;
      long xInt64 = 4;
      Decimal xDecimal = 5;
      float xSingle = 6.6F;
      double xDouble = 7.7;

      // The following types are not CLS-compliant.
      ushort xUInt16 = 8;
      uint xUInt32 = 9;
      ulong xUInt64 = 10;
      sbyte xSByte = -11;
      //
      StringBuilder sb = new StringBuilder();

      sb = sb.Append(head);                // <<<
      sb = sb.Append(head, 2, 1);          // <<<<
      sb = sb.Append(dash);                // <<<<-
      sb = sb.Append(dash).Append(dash);   // <<<<---

      sb = sb.Append(xBool).Append(sep);
      sb = sb.Append(obj).Append(sep).Append(xByte).Append(sep);
      sb = sb.Append(xInt16);
      sb = sb.Append(sep);
      sb = sb.Append(xInt32);
      sb = sb.Append(sep);
      sb = sb.Append(xInt64);
      sb = sb.Append(sep);
      sb = sb.Append(xDecimal).Append(sep);
      sb = sb.Append(xSingle).Append(sep).Append(xDouble).Append(sep);

      // The following Append methods are not CLS-compliant.
      sb = sb.Append(xUInt16).Append(sep);
      sb = sb.Append(xUInt32).Append(sep).Append(xUInt64).Append(sep);
      sb = sb.Append(xSByte);
      //
      sb = sb.Append(dash, 3);             // ---
      sb = sb.Append(tail);                // --->>>
      sb = sb.Append(tail, 2, 1);          // --->>>>

      String str = sb.ToString();
      outputBlock.Text += "The appended string is:" + "\n";
      outputBlock.Text += str + "\n";
   }
}
/*
This example produces the following results:
The appended string is:
<<<<---True, 0, 1, 2, 3, 4, 5, 6.6, 7.7, 8, 9, 10, -11--->>>>
*/


Windows Phone OS

지원되는 버전: 8.0, 7.1, 7.0

Windows Phone

이 정보가 도움이 되었습니까?
(1500자 남음)
의견을 주셔서 감사합니다.
표시:
© 2014 Microsoft. All rights reserved.