SecureString.InsertAt(Int32, Char) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Inserisce un carattere in questa stringa protetta nella 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 di indice in cui viene inserito il parametro c
.
- c
- Char
Carattere da inserire.
- Attributi
Eccezioni
Questa stringa sicura è già stata eliminata.
Questa stringa protetta è di sola lettura.
index
è minore di zero o maggiore della lunghezza della stringa protetta.
-oppure-
Con questa operazione la lunghezza della stringa protetta sarà superiore a 65.536 caratteri.
Si è verificato un errore durante la protezione o la rimozione della protezione del valore di questa stringa protetta.
Esempio
Nell'esempio seguente viene illustrato come i AppendCharmetodi , InsertAt, RemoveAtSetAt, e Clear influiscono sul valore di un SecureString oggetto .
using namespace System;
using namespace System::Security;
void main()
{
String^ msg = L" The current length of the SecureString object: {0}\n";
SecureString ^ ss = gcnew SecureString;
Console::WriteLine(L"1) Instantiate the SecureString object:");
Console::WriteLine(msg, ss->Length );
Console::WriteLine(L"2) Append 'a' to the value:");
ss->AppendChar('a');
Console::WriteLine(msg, ss->Length );
Console::WriteLine(L"3) Append 'X' to the value:");
ss->AppendChar('X');
Console::WriteLine(msg, ss->Length);
Console::WriteLine(L"4) Append 'c' to the value:");
ss->AppendChar('c');
Console::WriteLine(msg, ss->Length);
Console::WriteLine(L"5) Insert 'd' at the end of the value:");
ss->InsertAt(ss->Length, 'd');
Console::WriteLine(msg, ss->Length);
Console::WriteLine(L"6) Remove the last character ('d') from the value:");
ss->RemoveAt(3);
Console::WriteLine(msg, ss->Length);
Console::WriteLine(L"7) Set the second character ('X') of the value to 'b':" );
ss->SetAt(1, 'b');
Console::WriteLine(msg, ss->Length );
Console::WriteLine(L"8) Delete the value of the SecureString object:");
ss->Clear();
Console::WriteLine(msg, ss->Length);
delete ss;
}
/*
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
*/
using System;
using System.Security;
class Example
{
public static void Main()
{
string msg = "The curent 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 curent length of the SecureString object: 0
//
// 2) Append 'a' to the value.
// The curent length of the SecureString object: 1
//
// 3) Append 'X' to the value.
// The curent length of the SecureString object: 2
//
// 4) Append 'c' to the value.
// The curent length of the SecureString object: 3
//
// 5) Insert 'd' at the end of the value.
// The curent length of the SecureString object: 4
//
// 6) Remove the last character ('d') from the value.
// The curent length of the SecureString object: 3
//
// 7) Set the second character of the value to 'b'.
// The curent length of the SecureString object: 3
//
// 8) Delete the value of the SecureString object:
// The curent length of the SecureString object: 0
Imports System.Security
Module Example
Public Sub Main()
Dim msg As String = "The curent 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 curent length of the SecureString object: 0
'
' 2) Append 'a' to the value.
' The curent length of the SecureString object: 1
'
' 3) Append 'X' to the value.
' The curent length of the SecureString object: 2
'
' 4) Append 'c' to the value.
' The curent length of the SecureString object: 3
'
' 5) Insert 'd' at the end of the value.
' The curent length of the SecureString object: 4
'
' 6) Remove the last character ('d') from the value.
' The curent length of the SecureString object: 3
'
' 7) Set the second character of the value to 'b'.
' The curent length of the SecureString object: 3
'
' 8) Delete the value of the SecureString object:
' The curent 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 nella 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.