Wat is String.CopyTo?

stemmen
2

Kan iemand uitleggen waarom de output van deze code is alleen maar 'hallo' en wat deze code betekent?

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

De uitgang toont:

Het karakter array: hello

De code volgt:

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 ] );
De vraag is gesteld op 09/12/2008 om 18:25
bron van user
In andere talen...                            


3 antwoorden

stemmen
5

Het is omdat de array alleen is ingesteld voor 5 karakters. Uit te breiden tot 11 jaar en het zal werken.

Hier is wat de Kopiërenom is:

public void CopyTo(
    int sourceIndex,
    char[] destination,
    int destinationIndex,
    int count
)
parameters
sourceIndex
Type:. System .. :: Int32
Een tekenpositie in dit geval. 

bestemming
Type: matrix [] () []
Een array van Unicode tekens. 

destinationIndex
Type:. System .. :: Int32
Een array element bestemming. 

tellen
Type:. System .. :: Int32
Het aantal tekens dat in dit geval te kopiëren naar de bestemming. 

Genomen uit: http://msdn.microsoft.com/en-us/library/system.string.copyto.aspx

antwoordde op 09/12/2008 om 18:28
bron van user

stemmen
2

Het is slechts het tonen van 'hallo' omdat uw karakter array is slechts 5 tekens lang zijn. Wat betreft de parameters te CopyTo, lees http://msdn.microsoft.com/en-us/library/system.string.copyto.aspx

antwoordde op 09/12/2008 om 18:28
bron van user

stemmen
0

Dat komt omdat je karakter array size is slechts 5. Als u de hele reeks als een array wilt, kun je je string.ToCharArray plaats

antwoordde op 09/12/2008 om 18:31
bron van user

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