Mise à jour : novembre 2007
Insère un caractère dans cette chaîne sécurisée à la position d'index spécifiée.
Espace de noms :
System.Security Assembly :
mscorlib (dans mscorlib.dll)
Visual Basic (Déclaration)
Public Sub InsertAt ( _
index As Integer, _
c As Char _
)
Visual Basic (Utilisation)
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 void InsertAt(
int index,
char c
)
public function InsertAt(
index : int,
c : char
)
| Exception | Condition |
|---|
| ObjectDisposedException |
Cette chaîne sécurisée a déjà été supprimée.
|
| InvalidOperationException |
Cette chaîne sécurisée est en lecture seule.
|
| ArgumentOutOfRangeException | index est inférieur à zéro ou supérieur à la longueur de cette chaîne sécurisée.
- ou -
L'exécution de cette opération rendrait la longueur de cette chaîne sécurisée supérieure à 65536 caractères.
|
| CryptographicException |
Une erreur s'est produite en chiffrant ou en déchiffrant la valeur de cette chaîne sécurisée.
|
Il s'agit d'un index de base zéro et le premier caractère de cette chaîne sécurisée se trouve à la position d'index zéro.
La valeur de la chaîne sécurisée, si elle existe, est déchiffrée ; c est inséré à l'emplacement spécifié ; ensuite, la nouvelle valeur est chiffrée. La méthode InsertAt produit les mêmes résultats que la méthode AppendChar qui insère un caractère à la fin d'une chaîne sécurisée si le paramètre index de InsertAt a pour valeur la longueur de cette instance.
L'exemple de code suivant montre comment les méthodes AppendChar, InsertAt, RemoveAt, SetAt et Clear affectent la valeur d'un objet SecureString.
' 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 Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professionnel Édition x64, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98
Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
.NET Framework
Pris en charge dans : 3.5, 3.0, 2.0
Référence