Bibliothèque de classes .NET Framework
SecureString..::.InsertAt, méthode

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)

Syntaxe

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)
C#
public void InsertAt(
    int index,
    char c
)
VisualC++
public:
void InsertAt(
    int index, 
    wchar_t c
)
J#
public void InsertAt(
    int index,
    char c
)
JScript
public function InsertAt(
    index : int, 
    c : char
)

Paramètres

index
Type : System..::.Int32

Position d'index à laquelle le paramètre c est inséré.

c
Type : System..::.Char

Caractère à insérer.

Exceptions

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

Notes

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.

Exemples

L'exemple de code suivant montre comment les méthodes AppendChar, InsertAt, RemoveAt, SetAt et Clear affectent la valeur d'un objet SecureString.

Visual Basic
' 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
'
C#
// 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
*/
VisualC++
// 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
*/
Plateformes

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.

Informations de version

.NET Framework

Pris en charge dans : 3.5, 3.0, 2.0
Voir aussi

Référence

Mots clés :


Page view tracker