View Full Version : [.net]e goto
MasterDany
03-05-2008, 14:02
Ciao a tutti stavo leggendo i tutorial ufficiali a C# di Microsoft:
http://msdn.microsoft.com/it-it/library/zkxk2fwf.aspx
http://msdn.microsoft.com/it-it/library/67ef8sbd.aspx
http://msdn.microsoft.com/it-it/library/67ef8sbd.aspx
E mi sono accorto che zio Bill non ha levato il comando goto.Me ne sono state dette di tutti i colori su questa parola ma perchè la microsoft non l'ha levata?
Se è inutile che ce l'hanno messo a fare? :confused:
Bisogna impararlo?
Ma soprattutto a che serve?
wizard1993
03-05-2008, 14:06
il goto è utille per far salti fra un etichetta switch all'altra, questo argomento è già stato discusso qui
http://www.hwupgrade.it/forum/showthread.php?t=1698555&highlight=goto
tomminno
03-05-2008, 14:42
Ciao a tutti stavo leggendo i tutorial ufficiali a C# di Microsoft:
http://msdn.microsoft.com/it-it/library/zkxk2fwf.aspx
http://msdn.microsoft.com/it-it/library/67ef8sbd.aspx
http://msdn.microsoft.com/it-it/library/67ef8sbd.aspx
E mi sono accorto che zio Bill non ha levato il comando goto.Me ne sono state dette di tutti i colori su questa parola ma perchè la microsoft non l'ha levata?
Se è inutile che ce l'hanno messo a fare? :confused:
Bisogna impararlo?
Ma soprattutto a che serve?
A consentire di scrivere il .NET.
Trovi il goto usato in praticamente tutte le classi base del .NET ed è usato senza troppi risparmi nei sorgenti C++ del framework.
Evidentemente alla fine degli anni 90 in Microsoft lo ritenevano ancora utile.
Basta sapere che c'è e passare oltre.
MasterDany
03-05-2008, 14:45
Quindi è inutilizzabile nelle mie applicazioni?
Non ha capito a che serve.Ho capito solo che con il comando goto si può uscire da cilci nidificati.Ci sono altre cose da sapere?
Grazie ;)
khelidan1980
03-05-2008, 14:54
nei tutorial di C# viene usato il goto?Mi pare assai strano....
MasterDany
03-05-2008, 14:55
si :)
khelidan1980
03-05-2008, 14:56
si :)
dove?linkami un pagina precisa,ripeto i tutorial non il sorgente del C#
MasterDany
03-05-2008, 15:15
Subito :
http://msdn.microsoft.com/it-it/library/13940fs2.aspx
http://msdn.microsoft.com/it-it/library/s3xe34ex.aspx
Io non ho capito questo uso:
L'istruzione goto viene generalmente utilizzata per trasferire il controllo a un'etichetta case specifica di un'istruzione switch o all'etichetta predefinita di un'istruzione switch.
avete altri esempi?
Grazie mille a tutti :)
khelidan1980
03-05-2008, 15:19
Subito :
http://msdn.microsoft.com/it-it/library/13940fs2.aspx
http://msdn.microsoft.com/it-it/library/s3xe34ex.aspx
Io non ho capito questo uso:
avete altri esempi?
Grazie mille a tutti :)
lascia perdere l'istruzione goto,per ora non ti interessa nemmeno sapere che esiste,non è una cosa che deve imparare uno che inzia a programmare,più avanti se ti vuoi fare una cultura sul coding horror la guarderai! ;)
MasterDany
03-05-2008, 15:19
:cry: :cry:
Ma non è utile?
MasterDany
03-05-2008, 15:20
Se riesco a capire a che serve :mad:
khelidan1980
03-05-2008, 15:23
:cry: :cry:
Ma non è utile?
no
MasterDany
03-05-2008, 15:25
voglio sapere comunque a che serve :mad:
wizard1993
03-05-2008, 16:01
voglio sapere comunque a che serve :mad:
te l'ho già detto; il suo utilizzo primario è quello di passare da un etichetta switch all'altra
http://world.std.com/~mica/mib.jpg
Il goto NON esiste.
MasterDany
03-05-2008, 16:04
http://world.std.com/~mica/mib.jpg
Il goto NON esiste.
:mbe:
ti faccio un esempio:
variabile a=0;
etichetta1:
istruzione 1;
istruzione 2;
istruzione 3;
a=a+1;
se a!=5
goto etichetta1;
istruzione 4;
istruzione 5;
capito a che serve?
di solito viene considerato un orrore e ci sono diverse scuole di pensiero (l'ho chiesto ad alcuni prof all'uni):
1° il goto non si usa perche generela salti nella lettura del codice ed inoltre genera lo svuotamato del buffer d'esecuzione ovvero
operazione che si sta eseguendo--------> X
operazioni nel buffer------> z,w,f,d,q
se si esegue un goto il buffer si deve svuotare e riempire....
soluzione strana :mbe:
2° secondo il teorema di Jacopini-Bhom (http://it.wikipedia.org/wiki/Teorema_di_B%C3%B6hm-Jacopini) ogni algoritmo può essere eseguito con le tre strutture basilari ovvero : la sequenza, la selezione ed il ciclo
questo teorema ovviamente entra in forte contrasto con l'idea del goto e quindi il goto nella programmazione strutturata è stato appunto chiamato l'ORRORE
3° è ovvio che usare il goto rende il codice poco leggibile e quindi anche per una specie di "convezione" e comodità è meglio non usarlo....
se vuoi dargli na lettura
http://en.wikipedia.org/wiki/GOTO
MasterDany
03-05-2008, 16:17
grazie ;)
marko.fatto
03-05-2008, 17:08
1° il goto non si usa perche generela salti nella lettura del codice ed inoltre genera lo svuotamato del buffer d'esecuzione ovvero
operazione che si sta eseguendo--------> X
operazioni nel buffer------> z,w,f,d,q
se si esegue un goto il buffer si deve svuotare e riempire....
soluzione strana :mbe:
non è per il discorso del prefetch dei dati? :stordita:
prefetch (http://it.wikipedia.org/wiki/Prefetch) c'è proprio l'esempio su "Funzionamento" di come il salto gli rompa le scatole :asd:
puoi andare da una linea di codice ad un'altra con il goto.
non è per il discorso del prefetch dei dati? :stordita:
prefetch (http://it.wikipedia.org/wiki/Prefetch) c'è proprio l'esempio su "Funzionamento" di come il salto gli rompa le scatole :asd:
si la logica è quella non ricordavo il nome...thenkiu:D
MasterDany
03-05-2008, 20:23
non è per il discorso del prefetch dei dati? :stordita:
prefetch (http://it.wikipedia.org/wiki/Prefetch) c'è proprio l'esempio su "Funzionamento" di come il salto gli rompa le scatole :asd:
;)
tomminno
04-05-2008, 12:49
voglio sapere comunque a che serve :mad:
Non serve a niente.
E' una cattivissima pratica di programmazione usare il goto.
E il fatto che Windows o il .NET o Linux ne facciano largo uso non promuove certamente il goto a rango di istruzione da usare.
MasterDany
04-05-2008, 12:50
Non serve a niente.
E' una cattivissima pratica di programmazione usare il goto.
E il fatto che Windows o il .NET o Linux ne facciano largo uso non promuove certamente il goto a rango di istruzione da usare.
:p
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.