¿Qué es String.CopyTo?

votos
2

¿Alguien puede explicar por qué la salida de este código es solo 'hola' y qué significa este código?

( 0, characterArray, 0, characterArray.Length );

La salida muestra:

La matriz de caracteres es: hola

El código sigue:

string string1 = hello there;
char[] characterArray = new char[ 5 ];

string1.CopyTo( 0, characterArray, 0, characterArray.Length );
Console.Write( \nThe character array is:  );

for ( int i = 0; i < characterArray.Length; i++ )
    Console.Write( characterArray[ i ] );
Publicado el 09/12/2008 a las 18:25
fuente por usuario
En otros idiomas...                            


3 respuestas

votos
5

Es porque su matriz solo está configurada para 5 caracteres. Extiéndalo a 11 y funcionará.

Esto es lo que es Copyto:

public void CopyTo(
    int sourceIndex,
    char[] destination,
    int destinationIndex,
    int count
)
Parámetros
sourceIndex
Tipo: System .. ::. Int32
Una posición de personaje en esta instancia. 

destino
Tipo: array [] () []
Una matriz de caracteres Unicode. 

destinationIndex
Tipo: System .. ::. Int32
Un elemento de matriz en el destino. 

contar
Tipo: System .. ::. Int32
La cantidad de caracteres en esta instancia para copiar a destino. 

Tomado de: http://msdn.microsoft.com/en-us/library/system.string.copyto.aspx

Respondida el 09/12/2008 a las 18:28
fuente por usuario

votos
2

Solo muestra 'hola' porque tu matriz de caracteres tiene solo 5 caracteres de largo. En cuanto a los parámetros para CopyTo, lea http://msdn.microsoft.com/en-us/library/system.string.copyto.aspx

Respondida el 09/12/2008 a las 18:28
fuente por usuario

votos
0

Esto se debe a que el tamaño de su matriz de caracteres es solo 5. Si desea que toda la cadena sea una matriz, puede usar string.ToCharArray

Respondida el 09/12/2008 a las 18:31
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more