エクスポート (0) 印刷
すべて展開
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

StringBuilder.Append メソッド (Char[], Int32, Int32)

2013/12/12

Unicode 文字の指定した部分配列の文字列形式をこのインスタンスの末尾に追加します。

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

表示:
© 2014 Microsoft