StringBuilder.Chars Property

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

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

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

Syntax

Public Property Chars ( _
    index As Integer _
) As Char
public char this[
    int index
] { get; set; }

Parameters

Property Value

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

Exceptions

Exception Condition
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.

Remarks

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.

Imports System.Text

Module Example
   Public Sub Demo(outputBlock As System.Windows.Controls.TextBlock)
      Dim nAlphabeticChars As Integer = 0
      Dim nWhitespace As Integer = 0
      Dim nPunctuation As Integer = 0  
      Dim sb As New StringBuilder("This is a simple sentence.")

      For ctr As Integer = 0 To sb.Length - 1
         Dim ch As Char = sb(ctr)
         If Char.IsLetter(ch) Then nAlphabeticChars += 1 : Continue For
         If Char.IsWhiteSpace(ch) Then nWhitespace += 1 : Continue For
         If Char.IsPunctuation(ch) Then nPunctuation += 1
      Next    

      outputBlock.Text += String.Format("The sentence '{0}' has:", 
                                        sb) + vbCrLf
      outputBlock.Text += String.Format("   Alphabetic characters: {0}", 
                                        nAlphabeticChars) + vbCrLf
      outputBlock.Text += String.Format("   Whitespace characters: {0}", 
                                        nWhitespace) + vbCrLf
      outputBlock.Text += String.Format("   Punctuation characters: {0}", 
                                        nPunctuation) + vbCrLf
   End Sub
End Module
' The example displays the following output:
'       The sentence 'This is a simple sentence.' has:
'          Alphabetic characters: 21
'          Whitespace characters: 4
'          Punctuation characters: 1
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

Version Information

Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Platforms

Windows Phone

See Also

Reference

StringBuilder Class

System.Text Namespace

String