StringBuilder.Chars Property

May 11, 2014

Gets or sets the character at the specified character position in this instance.

Namespace:  System.Text
Assembly:  mscorlib (in mscorlib.dll)

public char this[
	int index
] { get; set; }

Parameters

index
Type: System.Int32
The position of the character.

Property Value

Type: System.Char
The Unicode character at position index.

ExceptionCondition
ArgumentOutOfRangeException

index is outside the bounds of this instance while setting a character.

IndexOutOfRangeException

index is outside the bounds of this instance while getting a character.

The index parameter is the position of a character within the StringBuilder. The first character in the string is at index 0. The length of a string is the number of characters it contains. The last accessible character of a StringBuilder instance is at index Length - 1.

Chars is the default property of the StringBuilder class. In C#, it is an indexer. This means that individual characters can be retrieved from the Chars property as shown in the following example, which counts the number of alphabetic, white-space, and punctuation characters in a string.


using System;
using System.Text;

public class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      int nAlphabeticChars = 0;
      int nWhitespace = 0;
      int nPunctuation = 0;  
      StringBuilder sb = new StringBuilder("This is a simple sentence.");

      for (int ctr = 0; ctr < sb.Length; ctr++) {
         char ch = sb[ctr];
         if (Char.IsLetter(ch)) { nAlphabeticChars++;  continue; }
         if (Char.IsWhiteSpace(ch)) { nWhitespace++;  continue; }
         if (Char.IsPunctuation(ch)) nPunctuation++;  
      }    

      outputBlock.Text += String.Format("The sentence '{0}' has:\n", sb);
      outputBlock.Text += String.Format("   Alphabetic characters: {0}\n", 
                                        nAlphabeticChars);
      outputBlock.Text += String.Format("   Whitespace characters: {0}\n", 
                                        nWhitespace);
      outputBlock.Text += String.Format("   Punctuation characters: {0}\n", 
                                        nPunctuation);
   }
}
// The example displays the following output:
//       The sentence 'This is a simple sentence.' has:
//          Alphabetic characters: 21
//          Whitespace characters: 4
//          Punctuation characters: 1


Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

Show:
© 2014 Microsoft