.NET Framework Class Library
String..::.Substring Method (Int32, Int32)

Updated: October 2008

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)
Syntax

Visual Basic (Declaration)
Public Function Substring ( _
    startIndex As Integer, _
    length As Integer _
) As String
Visual Basic (Usage)
Dim instance As String
Dim startIndex As Integer
Dim length As Integer
Dim returnValue As String

returnValue = instance.Substring(startIndex, _
    length)
C#
public string Substring(
    int startIndex,
    int length
)
Visual C++
public:
String^ Substring(
    int startIndex, 
    int length
)
JScript
public function Substring(
    startIndex : int, 
    length : int
) : String

Parameters

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 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.
Exceptions

ExceptionCondition
ArgumentOutOfRangeException

startIndex plus length indicates a position not within this instance.

-or-

startIndex or length is less than zero.

Remarks

startIndex is zero-based.

NoteNote:

   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.

Examples

The following 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 invalid parameters are specified.

Visual Basic
Dim myString As String = "abc"
Dim test1 As Boolean = myString.Substring(2, 1).Equals("c") ' This is true.
Console.WriteLine(test1)
Dim test2 As Boolean = String.IsNullOrEmpty(myString.Substring(3, 0)) ' This is true.
Console.WriteLine(test2)
Try  
   Dim str3 As String = myString.Substring(3, 1) ' This throws ArgumentOutOfRangeException.
   Console.WriteLine(str3)
Catch e As ArgumentOutOfRangeException
   Console.WriteLIne(e.Message)
End Try   
C#
String myString = "abc";
bool test1 = myString.Substring(2, 1).Equals("c"); // This is true.
Console.WriteLine(test1);
bool test2 = String.IsNullOrEmpty(myString.Substring(3, 0)); // This is true.
Console.WriteLine(test2);
try {
   string str3 = myString.Substring(3, 1); // This throws ArgumentOutOfRangeException.
   Console.WriteLine(str3);
}
catch (ArgumentOutOfRangeException e) {
   Console.WriteLine(e.Message);
}         
Platforms

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360, Zune

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Version Information

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 3.5, 2.0, 1.0

XNA Framework

Supported in: 3.0, 2.0, 1.0
See Also

Reference

Change History

Date

History

Reason

October 2008

Added a note that the method returns a new String object.

Customer feedback.

Tags :


Community Content

ls182
.Net vs Math

.NET:

"".Substring(5) -> ArgumentOutOfRangeException

Math:

Any subset of an empty set is an empty set, so "".Substring(5) should return "".

Tags : contentbug

Page view tracker