String.Substring Method (Int32, Int32)

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Retrieves a substring from this instance. The substring starts at a specified character position and has a specified length.

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


<SecuritySafeCriticalAttribute> _
Public Function Substring ( _
    startIndex As Integer, _
    length As Integer _
) As String
public string Substring(
    int startIndex,
    int length


  • startIndex
    Type: System.Int32
    The zero-based starting character position of a substring in this instance.
  • length
    Type: System.Int32
    The number of characters in the substring.

Return Value

Type: System.String
A string that is equivalent to the substring of length length that begins at startIndex in this instance, or Empty if startIndex is equal to the length of this instance and length is zero.


Exception Condition

startIndex plus length indicates a position not within this instance.


startIndex or length is less than zero.


startIndex is zero-based.


This method does not modify the value of the current instance. Instead, it returns a new string with length characters starting from the startIndex character position in the current instance.


The following code example uses the Substring method in three cases to isolate substrings within a string. In two cases the substrings are used in comparisons, and in the third case an exception is thrown because an invalid parameter is specified.

Dim myString As String = "abc"
Dim test1 As Boolean = myString.Substring(2, 1).Equals("c") ' This is true.
outputBlock.Text &= test1 & vbCrLf
Dim test2 As Boolean = String.IsNullOrEmpty(myString.Substring(3, 0)) ' This is true.
outputBlock.Text &= test2 & vbCrLf
   Dim str3 AS String = myString.Substring(3, 1) ' This throws ArgumentOutOfRangeException.
   outputBlock.Text &= str3 & vbCrLf
Catch e AS ArgumentOutOfRangeException
   outputBlock.Text &= e.Message & vbCrLf
End Try   
String myString = "abc";
bool test1 = myString.Substring(2, 1).Equals("c"); // This is true.
outputBlock.Text += test1 + "\n";
bool test2 = String.IsNullOrEmpty(myString.Substring(3, 0)); // This is true.
outputBlock.Text += test2 + "\n";
try {
   string str3 = myString.Substring(3, 1); // This throws ArgumentOutOfRangeException.
   outputBlock.Text += str3 + "\n";
catch (ArgumentOutOfRangeException e) {
   outputBlock.Text += e.Message + "\n";

Version Information


Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0


For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.