Exportar (0) Imprimir
Expandir todo

String (Constructor) (SByte*)

Actualización: noviembre 2007

Inicializa una nueva instancia de la clase String con el valor indicado por un puntero a una matriz de enteros de 8 bits con signo.

Esta API no es compatible con CLS. 

Espacio de nombres:  System
Ensamblado:  mscorlib (en mscorlib.dll)

[CLSCompliantAttribute(false)]
public String(
	sbyte* value
)
J# no admite las API que utilizan o devuelven tipos no seguros.
JScript no admite las API que utilizan o devuelven tipos no seguros.

Parámetros

value
Tipo: System.SByte*
Puntero a una matriz terminada en null de enteros de 8 bits con signo.

ExcepciónCondición
ArgumentNullException

El valor de value es null.

ArgumentException

No se pudo inicializar una nueva instancia de String con value, suponiendo que el parámetro value está codificado en ANSI.

ArgumentOutOfRangeException

La longitud de la nueva cadena que se va a inicializar, que viene determinada por el carácter de terminación nulo de value, es demasiado grande para asignarla.

AccessViolationException

value especifica una dirección no válida.

Se supone que el parámetro value apunta a una matriz que representa una cadena codificada mediante la página de códigos ANSI predeterminada (es decir, el método de codificación especificado por Encoding.Default).

k9s9t975.alert_note(es-es,VS.90).gifNota:

Dado que la página de códigos ANSI predeterminada depende del sistema, la cadena creada por este constructor a partir de matrices de bytes con signo idénticas puede diferir según el sistema. En lugar de utilizar una matriz de bytes con signo para crear instancias de una cadena, se recomienda utilizar cualquiera de las sobrecargas que tomen una matriz de Char (los constructores String.String(Char[]) y String.String(Char[], Int32, Int32)) o un puntero a una matriz de Char (los constructores String.String(Char*) y String.String(Char*, Int32, Int32)) como parámetros.

Este constructor procesa los caracteres de value a partir de la ubicación especificada por el puntero hasta un carácter nulo (0x00 hexadecimal).

Si la matriz especificada no termina en null, el comportamiento de este constructor depende del sistema. Por ejemplo, una situación de este tipo puede provocar una infracción de acceso.

En C#, este constructor se define únicamente en el contexto de código no seguro.

En el siguiente ejemplo de código se muestra cómo se puede crear una instancia de la clase String con este constructor.

unsafe
{
    // Null terminated ASCII characters in an sbyte array
    String szAsciiUpper = null;
    sbyte[] sbArr1 = new sbyte[] { 0x41, 0x42, 0x43, 0x00 };
    // Instruct the Garbage Collector not to move the memory
    fixed(sbyte* pAsciiUpper = sbArr1)
    {
        szAsciiUpper = new String(pAsciiUpper);
    }
    String szAsciiLower = null;
    sbyte[] sbArr2 = { 0x61, 0x62, 0x63, 0x00 };
    // Instruct the Garbage Collector not to move the memory
    fixed(sbyte* pAsciiLower = sbArr2)
    {
        szAsciiLower = new String(pAsciiLower, 0, sbArr2.Length);
    }
    // Prints "ABC abc"
    Console.WriteLine(szAsciiUpper + " " + szAsciiLower);

    // Compare Strings - the result is true
    Console.WriteLine("The Strings are equal when capitalized ? " +
        (String.Compare(szAsciiUpper.ToUpper(), szAsciiLower.ToUpper())==0?"true":"false") );

    // This is the effective equivalent of another Compare method, which ignores case
    Console.WriteLine("The Strings are equal when capitalized ? " +
        (String.Compare(szAsciiUpper, szAsciiLower, true)==0?"true":"false") );
}


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile para Smartphone, Windows Mobile para Pocket PC, Xbox 360

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 3.5, 2.0, 1.0

XNA Framework

Compatible con: 2.0, 1.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft