SecureString.InsertAt(Int32, Char) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Inserta un carácter en esta cadena segura en la posición de índice especificada.
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)
Parámetros
- index
- Int32
Posición de índice donde se inserta el parámetro c
.
- c
- Char
Carácter que se va a insertar.
- Atributos
Excepciones
Esta cadena segura ya se ha desechado.
Esta cadena segura es de sólo lectura.
El parámetro index
es menor que cero o mayor que la longitud de la cadena segura en cuestión.
o bien Esta operación haría que esta cadena segura tuviese más de 65 536 caracteres.
Error al proteger o desproteger el valor de esta cadena segura.
Ejemplos
En el ejemplo siguiente se muestra cómo los métodos , , , y afectan AppendChar al valor de un objeto InsertAt RemoveAt SetAt Clear SecureString .
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
Comentarios
El índice está basado en cero; el primer carácter de esta cadena segura está en la posición de índice cero.
Si la implementación usa un mecanismo de protección, como el cifrado, el valor de la cadena segura, si existe, está desprotegido; c
se inserta en la posición de índice especificada; a continuación, se vuelve a proteger el nuevo valor. El método produce los mismos resultados que el método , que inserta un carácter al final de una cadena segura, si el parámetro de se establece en la longitud InsertAt AppendChar de esta index
InsertAt instancia.