blood ke lavoro fai?
Esercizio di programmazione C
Collapse
X
-
Tristan tu che sei esperto... in c# nei metodo puoi inserire anche valori di ritorno es:
in questo caso nel corpo del metodo prova la variabile ritorno viene valorizzata e io posso stamparla e non c'è bisogno che la recuperi dal ritorno del metodo.Codice:int a = 0; String ritorno = ""; prova("ciao", a, out ritorno); Console.out.Writeline(ritorno);
In java c'è una cosa simile?sigpic
Commenta
-
-
La variabile di ritorno potrà anche essere valorizzata, ma dal momento che di default viene passata per valore (e non per riferimento), il puntatore alla variabile non viene modificato... ergo quando stampi sulla console la variabile ritorno il risultato sarà nulla (ovvero: "").Originariamente Scritto da gbpackers Visualizza MessaggioTristan tu che sei esperto... in c# nei metodo puoi inserire anche valori di ritorno es:
in questo caso nel corpo del metodo prova la variabile ritorno viene valorizzata e io posso stamparla e non c'è bisogno che la recuperi dal ritorno del metodo.Codice:int a = 0; String ritorno = ""; prova("ciao", a, out ritorno); Console.out.Writeline(ritorno);
In java c'è una cosa simile?Lonely roses slowly wither and die
Commenta
-
-
in java dici? Infatti lo pensavo non avendolo mai visto implementato.Originariamente Scritto da naoto Visualizza MessaggioLa variabile di ritorno potrà anche essere valorizzata, ma dal momento che di default viene passata per valore (e non per riferimento), il puntatore alla variabile non viene modificato... ergo quando stampi sulla console la variabile ritorno il risultato sarà nulla (ovvero: "").
Il cazz è che ci sono webservice creati ad hoc per C#
sigpic
Commenta
-
-
Originariamente Scritto da gbpackers Visualizza Messaggioin java dici? Infatti lo pensavo non avendolo mai visto implementato.
Il cazz è che ci sono webservice creati ad hoc per C#
No no. Non funziona neanche in C#.
La variabile ritorno, quando passata alla procedura prova, viene passata per valore, ovvero viene passato "", nella procedura ci posso fare tutto quello che mi pare... ma quando stampo sulla console la variabile resta ""... in C# dovrei passarla per riferimento con la parola chiave (se non ricordo male...) ref.Lonely roses slowly wither and die
Commenta
-
-
sì, ho dimenticato ref nell'esempio sopra...Originariamente Scritto da naoto Visualizza MessaggioNo no. Non funziona neanche in C#.
La variabile ritorno, quando passata alla procedura prova, viene passata per valore, ovvero viene passato "", nella procedura ci posso fare tutto quello che mi pare... ma quando stampo sulla console la variabile resta ""... in C# dovrei passarla per riferimento con la parola chiave (se non ricordo male...) ref.
anzi diciamo meglio: quando chiami la funzione segni la variabile come "out" mentre nella dichiarazione del metodo è segnata come "ref" public bool test(ref string ciao)Last edited by gbpackers; 14-11-2008, 13:17:35.sigpic
Commenta
-
-
ottimo amicoOriginariamente Scritto da naoto Visualizza MessaggioNo no. Non funziona neanche in C#.
La variabile ritorno, quando passata alla procedura prova, viene passata per valore, ovvero viene passato "", nella procedura ci posso fare tutto quello che mi pare... ma quando stampo sulla console la variabile resta ""... in C# dovrei passarla per riferimento con la parola chiave (se non ricordo male...) ref.
gb, in java non mi è mai capitato di beccare quella keyword out messa nella lista dei parametri del metodo. anche in java i parametri vengono passati per valore, per "riferimento" solo gli oggetti



Commenta
-
-
gb ma tu volevi fare una cosa del genere?
Codice:public class Out { private static String ritorno=""; public static void prova(String string, int a){ ritorno=string; } public static void main(String[] args) { int a = 0; //String ritorno = ""; Out.prova("ciao", a); System.out.println(ritorno); } }



Commenta
-
-
Originariamente Scritto da Tristan Visualizza Messaggiogb ma tu volevi fare una cosa del genere?
Codice:public class Out { private static String ritorno=""; public static void prova(String string, int a){ ritorno=string; } public static void main(String[] args) { int a = 0; //String ritorno = ""; Out.prova("ciao", a); System.out.println(ritorno); } }
Codice:public class Out { private static int a=""; public static void prova(String string, int a){ a = 500; } public static void main(String[] args) { int a = 0; Out.prova("ciao", a); System.out.println(a); //stampa 500 } }sigpic
Commenta
-
-
è più divertenteOriginariamente Scritto da Blaster Visualizza Messaggiofigliuoli state facendo un casino dalla madonna, fatevi un giro sul forum della sun e sull'msdn, basta bw
sigpic
Commenta
-
-
sì vabbeh è un int lo sò, era solo per farti capireOriginariamente Scritto da Tristan Visualizza Messaggioa non va inizializzato in quel modo, ti sei dimenticato di togliere le doppie apici
sigpic
Commenta
-
Commenta