내보내기(0) 인쇄
모두 확장
정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

StringBuilder.Insert 메서드 (Int32, Decimal)

2013-12-13

10진수의 문자열 표현을 지정된 문자 위치에 있는 이 인스턴스에 삽입합니다.

Namespace:  System.Text
어셈블리:  mscorlib(mscorlib.dll)

public StringBuilder Insert(
	int index,
	decimal value
)

매개 변수

index
형식: System.Int32
삽입을 시작할 인스턴스 내의 위치입니다.
value
형식: System.Decimal
삽입할 값입니다.

반환 값

형식: System.Text.StringBuilder
삽입 작업이 완료된 후 이 인스턴스에 대한 참조입니다.

예외조건
ArgumentOutOfRangeException

index가 0보다 작거나 이 인스턴스의 길이보다 큰 경우

OutOfMemoryException

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

Decimal.ToStringvalue의 문자열 표현을 가져오는 데 사용됩니다. 새 텍스트를 위한 공간을 만들기 위해 기존 문자가 이동됩니다. 필요에 따라 이 인스턴스의 용량이 조정됩니다.

호출자 참고 사항

.NET Framework 3.5 서비스 팩 1과 초기 버전에서는, value이 그 개체의 총 길이가 MaxCapacity를 초과하게 했을 경우, 이 메서드에 대한 호출이 ArgumentOutOfRangeException을 발생했습니다. .NET Framework 버전 4으로 시작하며, 이 메서드가 OutOfMemoryException을 발생합니다.

다음 예제에서는 Insert 메서드를 보여 줍니다.


using System;
using System.Text;

class Example
{
   //                         index: 012345
   static string initialValue = "--[]--";
   static StringBuilder sb;

   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      string xyz = "xyz";
      char[] abc = { 'a', 'b', 'c' };
      char star = '*';
      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;
      //
      outputBlock.Text += "StringBuilder.Insert method" + "\n";
      sb = new StringBuilder(initialValue);

      sb.Insert(3, xyz, 2);
      Show(outputBlock, 1, sb);

      sb.Insert(3, xyz);
      Show(outputBlock, 2, sb);

      sb.Insert(3, star.ToString());
      Show(outputBlock, 3, sb);

      sb.Insert(3, abc);
      Show(outputBlock, 4, sb);

      sb.Insert(3, abc, 1, 2);
      Show(outputBlock, 5, sb);

      sb.Insert(3, xBool.ToString());     // True
      Show(outputBlock, 6, sb);

      sb.Insert(3, obj.ToString());       // 0
      Show(outputBlock, 7, sb);

      sb.Insert(3, xByte.ToString());     // 1
      Show(outputBlock, 8, sb);

      sb.Insert(3, xInt16.ToString());    // 2
      Show(outputBlock, 9, sb);

      sb.Insert(3, xInt32.ToString());    // 3
      Show(outputBlock, 10, sb);

      sb.Insert(3, xInt64.ToString());    // 4
      Show(outputBlock, 11, sb);

      sb.Insert(3, xDecimal.ToString());  // 5
      Show(outputBlock, 12, sb);

      sb.Insert(3, xSingle.ToString());   // 6.6
      Show(outputBlock, 13, sb);

      sb.Insert(3, xDouble.ToString());   // 7.7
      Show(outputBlock, 14, sb);

      // The following Insert methods are not CLS-compliant.
      sb.Insert(3, xUInt16.ToString());   // 8
      Show(outputBlock, 15, sb);

      sb.Insert(3, xUInt32.ToString());   // 9
      Show(outputBlock, 16, sb);

      sb.Insert(3, xUInt64.ToString());   // 10
      Show(outputBlock, 17, sb);

      sb.Insert(3, xSByte.ToString());    // -11
      Show(outputBlock, 18, sb);
      //
   }

   public static void Show(System.Windows.Controls.TextBlock outputBlock, int overloadNumber, StringBuilder sbs)
   {
      outputBlock.Text += String.Format("{0,2:G} = {1}", overloadNumber, sbs.ToString()) + "\n";
      sb = new StringBuilder(initialValue);
   }
}
/*
This example produces the following results:

StringBuilder.Insert method
 1 = --[xyzxyz]--
 2 = --[xyz]--
 3 = --[*]--
 4 = --[abc]--
 5 = --[bc]--
 6 = --[True]--
 7 = --[0]--
 8 = --[1]--
 9 = --[2]--
10 = --[3]--
11 = --[4]--
12 = --[5]--
13 = --[6.6]--
14 = --[7.7]--
15 = --[8]--
16 = --[9]--
17 = --[10]--
18 = --[-11]--

*/


Windows Phone OS

지원되는 버전: 8.0

표시:
© 2014 Microsoft