String e assegnamenti

domenica 28 gennaio 2007 - 20.06

androsa Profilo | Newbie

Salve, semplifico il mio problema in un esempio:

string s1 = "prova";
string s2 = s1;
s2 = "cambia";

Facendo questo s1 contiene cmq "prova" (x il fatto della creazione del nuovo oggetto nell'heap) anche se ho fatto puntare s2 su s1..quindi la domanda è: come faccio a modificare il valore della variabile s1 cambiando la stringa s2 che punta su di lui? (il mio problema è molto piu complesso ma riassunto in un esempio è questo che nn riesco a risolvere).
Grazie a chi ha voglia di rispondermi :)

trinity Profilo | Guru

dipende dal contesto non so di preciso cosa devi fare per esempio potresti fare così


Private Sub prova (ByVal s1 As String)
Dim s2 As String
s2=s1
End Sub

per esempio potresti mettere nell'evento Click di un button questo:

prova(Me.TextBox1.Text)

Ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/

androsa Profilo | Newbie

Allora praticamente ho il form principale form1, che in un metodo chiama un secondo form con:

Form2 form2 = new Form2();
form2.showDialog(this);
//Punto di ritorno alla chiusura del form2

alla pressione di un button del form2 (mettiamo che questo form serve x inserire una password) voglio ritrovarmi una stringa contenente la password inserita. (intendo di trovarla nel metodo che ha chiamato il form2)

E' possibile cn qualche modo? ho provato ad usare ref nel costruttore del form2 ma non si risolve xchè l'evento click del button non è legato con il costruttore, che finendo, perde la variabile ref.

alextyx Profilo | Expert

Non sono certo di aver capito il problema e inoltre noto che usi C#, quindi ti rispondo con riserva.
Se è come in vb.net, il metodo close di un form modale, non lo cancella effettivamente. Inoltre, normalmente non è neppure necessario chiamare quel metodo, ma basta assegnare una dialogresult diversa da none e il form si chiude, ma, come accennavo, resta accessibile.
Pertanto al punto di ritorno del tuo codice, dovresti (notare il condizionale d'obbligo ) essere in grado di scrivere qualcosa tipo: miastringa=Form2.textbox1.text
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