String.Insert Method

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

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

Public Function Insert ( _
    startIndex As Integer, _
    value As String _
) As String
public string Insert(
    int startIndex,
    string value
)

Parameters

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

Note

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

Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Platforms

Windows Phone

See Also

Reference

String Class

System Namespace

Int32

Concat

CopyTo

Join

Remove

Replace

Split

Substring

Trim