Stringhe e array

lunedì 11 settembre 2006 - 13.40

salvio82 Profilo | Newbie

Qualcuno può spiegarmi in parole semplici perchè se faccio quest
string s1="ciao";
string s2= s1;
s2= "hello";


s1 rimane ciao e s2 diventa hello.
Essendo la stringa un tipo riferimento non dovrebbero diventare entrambi hello
come succede per gli array
grazie mille

gigi90 Profilo | Senior Member

Da quanto ho capito ti stai riferendo al linguaggio c# comunque il tipo stringa non viene passato per riferimento ma per valore a differenza di quanto accade per gli array.

gigi90 Profilo | Senior Member

Il tipo stringa viene passato per valore e non per riferimento come accade per gli array di caratteri, quindi ecco perchè il risultato è quello che ottieni.

In c# però potresti usare i puntatori per passare l'indirizzo delle stringhe recuperando prima la dimensione delle stringhe con la clausola sizeof poiche il tipo string e un tipo gestito nei linguaggi per il .Net Framework

salvio82 Profilo | Newbie

Scusate l'ignoranza ma io a quanto vedo il tipo string è un tipo per riferimento non per valore come dici tu... O forse mi sbaglio?
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5