导出 (0) 打印
全部展开
信息
您所需的主题如下所示。但此主题未包含在此库中。

StringBuilder.Append 方法 (Char[], Int32, Int32)

2013/12/13

在此实例的结尾追加指定的 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 不为零。

ArgumentOutOfRangeException

charCount 小于零。

- 或 -

startIndex 小于零。

- 或 -

startIndex+charCount 小于 value 的长度。

- 或 -

增大此实例的值会超过它的最大容量。

此方法向当前实例追加 value 中指定范围的字符。如果 valuenull,并且 startIndexcount 都为零,则没有进行任何更改。

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

显示:
© 2014 Microsoft