String.Insert Method

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

Returns a new string in which a specified string is inserted at a specified index position in this instance.

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

Syntax

'Declaration
<SecuritySafeCriticalAttribute> _
Public Function Insert ( _
    startIndex As Integer, _
    value As String _
) As String
[SecuritySafeCriticalAttribute]
public string Insert(
    int startIndex,
    string value
)

Parameters

  • startIndex
    Type: System.Int32
    The index position of the insertion.

Return Value

Type: System.String
A new string that is equivalent to this instance, but with value inserted at position startIndex.

Exceptions

Exception Condition
ArgumentNullException

value is nulla null reference (Nothing in Visual Basic).

ArgumentOutOfRangeException

startIndex is negative or greater than the length of this instance.

Remarks

If startIndex is equal to the length of this instance, value is appended to the end of this instance.

NoteNote:

This method does not modify the value of the current instance. Instead, it returns a new string in which value is inserted into the current instance.

For example, the return value of "abc".Insert(2, "XYZ") is "abXYZc".

Examples

The following example uses the Insert method to insert two randomly selected adjectives in front of two nouns in a string.

Public Class Example

   Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
      ' Initialize random number generator to define adjectives to use.
      Dim rnd As New Random()

      Dim animal1 As String = "fox"
      Dim animal2 As String = "dog"
      Dim animal1Adjectives() As String = { "quick", "fast", "speedy", "energetic" }
      Dim animal2Adjectives() As String = { "lazy", "sleeping", "slow-moving", "slothful" }
      Dim strTarget As String = String.Format("The {0} jumped over the {1}.", animal1, animal2)
      outputBlock.Text &= String.Format("The original string is:{0}{1}{0}", vbCrLf, strTarget)

      ' Generate a random number to extract an adjective from the array
      ' to describe each animal.
      Dim animal1AdjectivePosition As Integer = rnd.Next(animal1Adjectives.GetLowerBound(0), _ 
                                              animal1Adjectives.GetUpperBound(0) + 1)
      Dim animal2AdjectivePosition As Integer = rnd.Next(animal1Adjectives.GetLowerBound(0), _ 
                                              animal1Adjectives.GetUpperBound(0) + 1)                                              
      Dim animal1Adjective As String = animal1Adjectives(animal1AdjectivePosition) + " "
      Dim animal2Adjective As String = animal2Adjectives(animal2AdjectivePosition) + " "

      strTarget = strTarget.Insert(strTarget.IndexOf(animal1), animal1Adjective)
      strTarget = strTarget.Insert(strTarget.IndexOf(animal2), animal2Adjective)

      outputBlock.Text &= String.Format("{0}The final string is:{0}{1}{0}", vbCrLf, strTarget)
   End Sub 
End Class 
' The output from the example may appear as follows:
'       The original string is:
'       The fox jumped over the dog.
'
'       The final string is:
'       The quick fox jumped over the slothful dog.
using System;

public class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      // Initialize random number generator to define adjectives to use.
      Random rnd = new Random();

      string animal1 = "fox";
      string animal2 = "dog";
      string[] animal1Adjectives = { "quick", "fast", "speedy", "energetic" };
      string[] animal2Adjectives = { "lazy", "sleeping", "slow-moving", "slothful" };
      string strTarget = String.Format("The {0} jumped over the {1}.", animal1, animal2);
      outputBlock.Text += String.Format("The original string is:\n{0}\n", strTarget);

      // Generate a random number to extract an adjective from the array
      // to describe each animal.
      int animal1AdjectivePosition = rnd.Next(animal1Adjectives.GetLowerBound(0),  
                                              animal1Adjectives.GetUpperBound(0) + 1);
      int animal2AdjectivePosition = rnd.Next(animal1Adjectives.GetLowerBound(0),  
                                              animal1Adjectives.GetUpperBound(0) + 1);                                             
      string animal1Adjective = animal1Adjectives[animal1AdjectivePosition] + " ";
      string animal2Adjective = animal2Adjectives[animal2AdjectivePosition] + " ";

      strTarget = strTarget.Insert(strTarget.IndexOf(animal1), animal1Adjective);
      strTarget = strTarget.Insert(strTarget.IndexOf(animal2), animal2Adjective);

      outputBlock.Text += String.Format("\nThe final string is:\n{0}\n", strTarget);
   }
}
// The output from the example may appear as follows:
//       The original string is:
//       The fox jumped over the dog.
//
//       The final string is:
//       The quick fox jumped over the slothful dog.

Version Information

Silverlight

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

Platforms

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