Inserts a character in this secure string at the specified index position.
Namespace:
System.Security
Assembly:
mscorlib (in mscorlib.dll)
Visual Basic (Declaration)
Public Sub InsertAt ( _
index As Integer, _
c As Char _
)
Dim instance As SecureString
Dim index As Integer
Dim c As Char
instance.InsertAt(index, c)
public void InsertAt(
int index,
char c
)
public:
void InsertAt(
int index,
wchar_t c
)
public function InsertAt(
index : int,
c : char
)
The index is zero-based and the first character in this secure string is at index position zero.
The value of the secure string, if any, is decrypted; c is inserted at the specified location; then the new value is encrypted. The InsertAt method yields the same results as the AppendChar method, which inserts a character at the end of a secure string, if the index parameter of InsertAt is set to the length of this instance.
The following code example demonstrates how the AppendChar, InsertAt, RemoveAt, SetAt, and Clear methods affect the value of a SecureString object.
' This example demonstrates the AppendChar,
' InsertAt, RemoveAt, SetAt, and Clear methods.
Imports System
Imports System.Security
Class Sample
Public Shared Sub Main()
Dim msg1 As String = " SecureString = {0}" & vbCrLf & " Length = {1}" & vbCrLf
Dim msg2 As String = "This example demonstrates the effect of the AppendChar, InsertAt," & vbCrLf & _
"RemoveAt, SetAt, and Clear methods on the value of a SecureString" & vbCrLf & _
"object. This example simulates the value of the object because the" & vbCrLf & _
"actual value is encrypted." & vbCrLf
Dim ss As New SecureString()
'
' This sample modifies the contents of a SecureString, ss, in
' several steps. After each step, the length and simulated value of ss
' are displayed. The actual value of ss is encrypted.
'
Console.WriteLine(msg2)
Console.WriteLine("1) The initial value of the SecureString object:")
Console.WriteLine(msg1, """""", ss.Length)
Console.WriteLine("2) AppendChar: Append 'a' to the value:")
ss.AppendChar("a"c)
Console.WriteLine(msg1, """a""", ss.Length)
Console.WriteLine("3) AppendChar: Append 'X' to the value:")
ss.AppendChar("X"c)
Console.WriteLine(msg1, """aX""", ss.Length)
Console.WriteLine("4) AppendChar: Append 'c' to the value:")
ss.AppendChar("c"c)
Console.WriteLine(msg1, """aXc""", ss.Length)
Console.WriteLine(("5) InsertAt: Insert 'd' at the end of the value (equivalent" & vbCrLf & " to AppendChar):"))
ss.InsertAt(ss.Length, "d"c)
Console.WriteLine(msg1, """aXcd""", ss.Length)
Console.WriteLine("6) RemoveAt: Remove the last character ('d') from the value:")
ss.RemoveAt(3)
Console.WriteLine(msg1, """aXc""", ss.Length)
Console.WriteLine("7) SetAt: Set the second character ('X') of the value to 'b':")
ss.SetAt(1, "b"c)
Console.WriteLine(msg1, """abc""", ss.Length)
Console.WriteLine("8) Clear: Delete the value of the SecureString object:")
ss.Clear()
Console.WriteLine(msg1, """""", ss.Length)
End Sub 'Main
End Class 'Sample
'
'This code example produces the following results:
'
'This example demonstrates the effect of the AppendChar, InsertAt,
'RemoveAt, SetAt, and Clear methods on the value of a SecureString
'object. This example simulates the value of the object because the
'actual value is encrypted.
'
'1) The initial value of the SecureString object:
' SecureString = ""
' Length = 0
'
'2) AppendChar: Append 'a' to the value:
' SecureString = "a"
' Length = 1
'
'3) AppendChar: Append 'X' to the value:
' SecureString = "aX"
' Length = 2
'
'4) AppendChar: Append 'c' to the value:
' SecureString = "aXc"
' Length = 3
'
'5) InsertAt: Insert 'd' at the end of the value (equivalent
' to AppendChar):
' SecureString = "aXcd"
' Length = 4
'
'6) RemoveAt: Remove the last character ('d') from the value:
' SecureString = "aXc"
' Length = 3
'
'7) SetAt: Set the second character ('X') of the value to 'b':
' SecureString = "abc"
' Length = 3
'
'8) Clear: Delete the value of the SecureString object:
' SecureString = ""
' Length = 0
'
// This example demonstrates the AppendChar,
// InsertAt, RemoveAt, SetAt, and Clear methods.
using System;
using System.Security;
class Sample
{
public static void Main()
{
string msg1 = " SecureString = {0}\n Length = {1}\n";
string msg2 = "This example demonstrates the effect of the AppendChar, InsertAt,\n" +
"RemoveAt, SetAt, and Clear methods on the value of a SecureString\n" +
"object. This example simulates the value of the object because the\n" +
"actual value is encrypted.\n";
SecureString ss = new SecureString();
/*
This sample modifies the contents of a SecureString, ss, in
several steps. After each step, the length and simulated value of ss
are displayed. The actual value of ss is encrypted.
*/
Console.WriteLine(msg2);
Console.WriteLine("1) The initial value of the SecureString object:");
Console.WriteLine(msg1, "\"\"", ss.Length);
Console.WriteLine("2) AppendChar: Append 'a' to the value:");
ss.AppendChar('a');
Console.WriteLine(msg1, "\"a\"", ss.Length);
Console.WriteLine("3) AppendChar: Append 'X' to the value:");
ss.AppendChar('X');
Console.WriteLine(msg1, "\"aX\"", ss.Length);
Console.WriteLine("4) AppendChar: Append 'c' to the value:");
ss.AppendChar('c');
Console.WriteLine(msg1, "\"aXc\"", ss.Length);
Console.WriteLine("5) InsertAt: Insert 'd' at the end of the value (equivalent\n" +
" to AppendChar):");
ss.InsertAt(ss.Length, 'd');
Console.WriteLine(msg1, "\"aXcd\"", ss.Length);
Console.WriteLine("6) RemoveAt: Remove the last character ('d') from the value:");
ss.RemoveAt(3);
Console.WriteLine(msg1, "\"aXc\"", ss.Length);
Console.WriteLine("7) SetAt: Set the second character ('X') of the value to 'b':");
ss.SetAt(1, 'b');
Console.WriteLine(msg1, "\"abc\"", ss.Length);
Console.WriteLine("8) Clear: Delete the value of the SecureString object:");
ss.Clear();
Console.WriteLine(msg1, "\"\"", ss.Length);
}
}
/*
This code example produces the following results:
This example demonstrates the effect of the AppendChar, InsertAt,
RemoveAt, SetAt, and Clear methods on the value of a SecureString
object. This example simulates the value of the object because the
actual value is encrypted.
1) The initial value of the SecureString object:
SecureString = ""
Length = 0
2) AppendChar: Append 'a' to the value:
SecureString = "a"
Length = 1
3) AppendChar: Append 'X' to the value:
SecureString = "aX"
Length = 2
4) AppendChar: Append 'c' to the value:
SecureString = "aXc"
Length = 3
5) InsertAt: Insert 'd' at the end of the value (equivalent
to AppendChar):
SecureString = "aXcd"
Length = 4
6) RemoveAt: Remove the last character ('d') from the value:
SecureString = "aXc"
Length = 3
7) SetAt: Set the second character ('X') of the value to 'b':
SecureString = "abc"
Length = 3
8) Clear: Delete the value of the SecureString object:
SecureString = ""
Length = 0
*/
// This example demonstrates the AppendChar,
// InsertAt, RemoveAt, SetAt, and Clear methods.
using namespace System;
using namespace System::Security;
int main()
{
String^ msg1 = L" SecureString = {0}\n Length = {1}\n";
String^ msg2 = L"This example demonstrates the effect of the AppendChar, InsertAt,\n"
L"RemoveAt, SetAt, and Clear methods on the value of a SecureString\n"
L"object. This example simulates the value of the object because the\n"
L"actual value is encrypted.\n";
SecureString ^ ss = gcnew SecureString;
// This sample modifies the contents of a SecureString, ss, in
// several steps. After each step, the length and simulated value of ss
// are displayed. The actual value of ss is encrypted.
Console::WriteLine( msg2 );
Console::WriteLine( L"1) The initial value of the SecureString object:" );
Console::WriteLine( msg1, L"\"\"", ss->Length );
Console::WriteLine( L"2) AppendChar: Append 'a' to the value:" );
ss->AppendChar( 'a' );
Console::WriteLine( msg1, L"\"a\"", ss->Length );
Console::WriteLine( L"3) AppendChar: Append 'X' to the value:" );
ss->AppendChar( 'X' );
Console::WriteLine( msg1, L"\"aX\"", ss->Length );
Console::WriteLine( L"4) AppendChar: Append 'c' to the value:" );
ss->AppendChar( 'c' );
Console::WriteLine( msg1, L"\"aXc\"", ss->Length );
Console::WriteLine( L"5) InsertAt: Insert 'd' at the end of the value (equivalent\n"
L" to AppendChar):" );
ss->InsertAt( ss->Length, 'd' );
Console::WriteLine( msg1, L"\"aXcd\"", ss->Length );
Console::WriteLine( L"6) RemoveAt: Remove the last character ('d') from the value:" );
ss->RemoveAt( 3 );
Console::WriteLine( msg1, L"\"aXc\"", ss->Length );
Console::WriteLine( L"7) SetAt: Set the second character ('X') of the value to 'b':" );
ss->SetAt( 1, 'b' );
Console::WriteLine( msg1, L"\"abc\"", ss->Length );
Console::WriteLine( L"8) Clear: Delete the value of the SecureString object:" );
ss->Clear();
Console::WriteLine( msg1, L"\"\"", ss->Length );
return 0;
}
/*
This code example produces the following results:
This example demonstrates the effect of the AppendChar, InsertAt,
RemoveAt, SetAt, and Clear methods on the value of a SecureString
object. This example simulates the value of the object because the
actual value is encrypted.
1) The initial value of the SecureString object:
SecureString = ""
Length = 0
2) AppendChar: Append 'a' to the value:
SecureString = "a"
Length = 1
3) AppendChar: Append 'X' to the value:
SecureString = "aX"
Length = 2
4) AppendChar: Append 'c' to the value:
SecureString = "aXc"
Length = 3
5) InsertAt: Insert 'd' at the end of the value (equivalent
to AppendChar):
SecureString = "aXcd"
Length = 4
6) RemoveAt: Remove the last character ('d') from the value:
SecureString = "aXc"
Length = 3
7) SetAt: Set the second character ('X') of the value to 'b':
SecureString = "abc"
Length = 3
8) Clear: Delete the value of the SecureString object:
SecureString = ""
Length = 0
*/
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
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.
.NET Framework
Supported in: 3.5, 3.0, 2.0
Reference