String.Chars[Int32] Property 
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
public:
 property char default[int] { char get(int index); };public char this[int index] { get; }member this.Chars(int) : charDefault Public ReadOnly Property Chars(index As Integer) As CharParameters
- index
- Int32
A position in the current string.
Property Value
The object at position index.
Exceptions
index is greater than or equal to the length of this object or less than zero.
Examples
The following example demonstrates how you can use this indexer in a routine to validate a string.
Console.Write("Type a string : ");
string myString = Console.ReadLine();
for (int i = 0; i < myString.Length; i ++)
   if(Uri.IsHexDigit(myString[i]))
      Console.WriteLine("{0} is a hexadecimal digit.", myString[i]);
   else
      Console.WriteLine("{0} is not a hexadecimal digit.", myString[i]);
// The example produces output like the following:
//    Type a string : 3f5EaZ
//    3 is a hexadecimal digit.
//    f is a hexadecimal digit.
//    5 is a hexadecimal digit.
//    E is a hexadecimal digit.
//    a is a hexadecimal digit.
//    Z is not a hexadecimal digit.
open System
printf "Type a string: "
let myString = stdin.ReadLine()
for i = 0 to myString.Length - 1 do
    if Uri.IsHexDigit myString[i] then
        printfn $"{myString[i]} is a hexadecimal digit."
    else
        printfn $"{myString[i]} is not a hexadecimal digit."
// The example produces output like the following:
//    Type a string: 3f5EaZ
//    3 is a hexadecimal digit.
//    f is a hexadecimal digit.
//    5 is a hexadecimal digit.
//    E is a hexadecimal digit.
//    a is a hexadecimal digit.
//    Z is not a hexadecimal digit.
Console.Write("Type a string : ")
Dim myString As String = Console.ReadLine()
Dim i As Integer
For i = 0 To myString.Length - 1
   If Uri.IsHexDigit(myString.Chars(i)) Then
      Console.WriteLine("{0} is a hexadecimal digit.", myString.Chars(i))
   Else
      Console.WriteLine("{0} is not a hexadecimal digit.", myString.Chars(i))
   End If 
Next
' The example produces output like the following:
'    Type a string : 3f5EaZ
'    3 is a hexadecimal digit.
'    f is a hexadecimal digit.
'    5 is a hexadecimal digit.
'    E is a hexadecimal digit.
'    a is a hexadecimal digit.
'    Z is not a hexadecimal digit.
Remarks
The index parameter is zero-based.
This property returns the Char object at the position specified by the index parameter. However, a Unicode character might be represented by more than one Char. Use the System.Globalization.StringInfo class to work with Unicode characters instead of Char objects. For more information, see the "Char Objects and Unicode Characters" section in the String class overview.
In C#, the Chars[] property is an indexer. In Visual Basic, it is the default property of the String class. Each Char object in the string can be accessed by using code such as the following.
string str1 = "Test";
for (int ctr = 0; ctr <= str1.Length - 1; ctr++ )
   Console.Write("{0} ", str1[ctr]);
// The example displays the following output:
//      T e s t
let str1 = "Test"
for i = 0 to str1.Length - 1 do
    printf $"{str1[i]} "
// The example displays the following output:
//      T e s t
Dim str1 As String = "Test"
For ctr As Integer = 0 to str1.Length - 1
   Console.Write("{0} ", str1(ctr))
Next   
' The example displays the following output:
'      T e s t