SecureString.InsertAt(Int32, Char) Metodo

Definizione

Inserisce un carattere in questa stringa sicura in corrispondenza della posizione di indice specificata.

public:
 void InsertAt(int index, char c);
public void InsertAt(int index, char c);
[System.Runtime.ExceptionServices.HandleProcessCorruptedStateExceptions]
public void InsertAt(int index, char c);
member this.InsertAt : int * char -> unit
[<System.Runtime.ExceptionServices.HandleProcessCorruptedStateExceptions>]
member this.InsertAt : int * char -> unit
Public Sub InsertAt (index As Integer, c As Char)

Parametri

index
Int32

Posizione dell'indice in cui viene inserito il parametro c .

c
Char

Carattere da inserire.

Attributi

Eccezioni

Questa stringa sicura è già stata eliminata.

Questa stringa sicura è di sola lettura.

index è minore di zero o maggiore della lunghezza di questa stringa protetta.

oppure

L'esecuzione di questa operazione renderebbe la lunghezza di questa stringa sicura maggiore di 65.536 caratteri.

Si è verificato un errore durante la protezione o l'annullamento della protezione del valore di questa stringa protetta.

Esempio

Nell'esempio seguente viene illustrato come i AppendCharmetodi , InsertAtRemoveAt, SetAt, e Clear influiscono sul valore di un SecureString oggetto .

using System;
using System.Security;

class SecureStringExample
{
    public static void Main()
    {
       string msg = "The current length of the SecureString object: {0}\n";
       Console.WriteLine("1) Instantiate the SecureString object.");
       SecureString ss = new SecureString();
       Console.WriteLine(msg, ss.Length);

       Console.WriteLine("2) Append 'a' to the value.");
       ss.AppendChar('a');
       Console.WriteLine(msg, ss.Length);

       Console.WriteLine("3) Append 'X' to the value.");
       ss.AppendChar('X');
       Console.WriteLine(msg, ss.Length);

       Console.WriteLine("4) Append 'c' to the value.");
       ss.AppendChar('c');
       Console.WriteLine(msg, ss.Length);

       Console.WriteLine("5) Insert 'd' at the end of the value.");
       ss.InsertAt(ss.Length, 'd');
       Console.WriteLine(msg, ss.Length);

       Console.WriteLine("6) Remove the last character ('d') from the value.");
       ss.RemoveAt(3);
       Console.WriteLine(msg, ss.Length);

       Console.WriteLine("7) Set the second character of the value to 'b'.");
       ss.SetAt(1, 'b');
       Console.WriteLine(msg, ss.Length);

       Console.WriteLine("8) Delete the value of the SecureString object:");
       ss.Clear();
       Console.WriteLine(msg, ss.Length);

       ss.Dispose();
    }
}
// The example displays the following output:
//       1) Instantiate the SecureString object.
//       The current length of the SecureString object: 0
//
//       2) Append 'a' to the value.
//       The current length of the SecureString object: 1
//
//       3) Append 'X' to the value.
//       The current length of the SecureString object: 2
//
//       4) Append 'c' to the value.
//       The current length of the SecureString object: 3
//
//       5) Insert 'd' at the end of the value.
//       The current length of the SecureString object: 4
//
//       6) Remove the last character ('d') from the value.
//       The current length of the SecureString object: 3
//
//       7) Set the second character of the value to 'b'.
//       The current length of the SecureString object: 3
//
//       8) Delete the value of the SecureString object:
//       The current length of the SecureString object: 0
Imports System.Security

Module Example
    Public Sub Main()
       Dim msg As String = "The current length of the SecureString object: {0}" + vbCrLf
       Console.WriteLine("1) Instantiate the SecureString object.")
       Dim ss As New SecureString()
       Console.WriteLine(msg, ss.Length)

       Console.WriteLine("2) Append 'a' to the value.")
       ss.AppendChar("a"c)
       Console.WriteLine(msg, ss.Length)

       Console.WriteLine("3) Append 'X' to the value.")
       ss.AppendChar("X"c)
       Console.WriteLine(msg, ss.Length)

       Console.WriteLine("4) Append 'c' to the value.")
       ss.AppendChar("c"c)
       Console.WriteLine(msg, ss.Length)

       Console.WriteLine("5) Insert 'd' at the end of the value.")
       ss.InsertAt(ss.Length, "d"c)
       Console.WriteLine(msg, ss.Length)

       Console.WriteLine("6) Remove the last character ('d') from the value.")
       ss.RemoveAt(3)
       Console.WriteLine(msg, ss.Length)

       Console.WriteLine("7) Set the second character of the value to 'b'.")
       ss.SetAt(1, "b"c)
       Console.WriteLine(msg, ss.Length)

       Console.WriteLine("8) Delete the value of the SecureString object:")
       ss.Clear()
       Console.WriteLine(msg, ss.Length)

       ss.Dispose()
    End Sub
End Module
' The example displays the following output:
'       1) Instantiate the SecureString object.
'       The current length of the SecureString object: 0
'
'       2) Append 'a' to the value.
'       The current length of the SecureString object: 1
'
'       3) Append 'X' to the value.
'       The current length of the SecureString object: 2
'
'       4) Append 'c' to the value.
'       The current length of the SecureString object: 3
'
'       5) Insert 'd' at the end of the value.
'       The current length of the SecureString object: 4
'
'       6) Remove the last character ('d') from the value.
'       The current length of the SecureString object: 3
'
'       7) Set the second character of the value to 'b'.
'       The current length of the SecureString object: 3
'
'       8) Delete the value of the SecureString object:
'       The current length of the SecureString object: 0

Commenti

L'indice è in base zero; il primo carattere in questa stringa sicura è in corrispondenza della posizione di indice zero.

Se l'implementazione usa un meccanismo di protezione, ad esempio la crittografia, il valore della stringa protetta, se presente, non è protetto; c viene inserito in corrispondenza della posizione di indice specificata, quindi il nuovo valore viene nuovamente protetto. Il InsertAt metodo restituisce gli stessi risultati del AppendChar metodo , che inserisce un carattere alla fine di una stringa protetta, se il index parametro di InsertAt è impostato sulla lunghezza di questa istanza.

Si applica a