For each... next vb .net 2003

giovedì 25 settembre 2008 - 11.05

Lucifel Profilo | Junior Member

Ciao a tutti,
oggi mi sono imbattutto in un problema che avrei risolto in meno di mezzo secondo se mi fossi trovato a programmare in C# o in java e che invece sembra irrisolvibile in VB.

In pratica il problema è questo:

ho un ciclo for each e all'interno di questo ciclo richiamo molte funzioni. Ogni funzione mi restituisce un vero o falso e nel caso in cui restituisca vero devo passare all'elemento successivo del ciclo.

io avrei voluto fare:

for each element as type in collection ret = myFunction() if ret = true then [operazioni] next element <--- non esiste end if ret = myFunction2() ... ... next

Certo potrei facilmente fare if else if else if else ecc ecc, ma non volevo fare una scaletta infinta anche perché le funzioni che si richiamano sono parecchie e ogni funzione esclude le altre, quindi nel momento in cui la funzione 1 mi dà true vorrei andare all'elento successivo. In C# al posto del next element avrei scritto continue, ma in vb mi dà errore.

Nell'msdn mettono solo esempi facili di cicli dentro cicli ma nessun esempio di come andare all'elemento successivo del ciclo.

Qualcuno mi sa aiutare?
Grazie in anticipo

Diego
-----------------------------------
Avanti sempre e comunque!
-----------------------------------

rossimarko Profilo | Guru

Ciao,

questa tabella può esserti utile: http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

In vb.net puoi usare "continue for"

-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

Lucifel Profilo | Junior Member

>Ciao,
>
>questa tabella può esserti utile: http://www.harding.edu/fmccown/vbnet_csharp_comparison.html
>
>In vb.net puoi usare "continue for"

Grazie infinite.
Quella tabella mi sarà utile sicuramente... però non risolve il mio problema, almeno per ora.
Non lo so, forse è per la versione di .net che sto usando (vb .net 200) o non so, ma la parola "Continue" non funziona e mi dà errore.

Altre idee?

Diego
-----------------------------------
Avanti sempre e comunque!
-----------------------------------

rossimarko Profilo | Guru

Scusami, non avevo letto che usavi vb.net 2003. Allora in questo caso ritiro tutto, continue è stata introdotta con vb.net 2005 (http://msdn.microsoft.com/it-it/library/801hyx6f.aspx)

In questo caso mi sa che l'unica è gestire la cosa con degli if anche se non è bello da vedere..
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

Lucifel Profilo | Junior Member

Grazie
Mi sento molto abbattuto per queste limitazioni di questo linguaggio vecchio di 5 anni che mi hanno obbligato ad usare con la scusa: ".net 2005 / 2008? Perché usare una cosa non ancora sicura. Tutti usano .net 2003"
La mia risposta:

Vabbè grazie.

Diego
***
Mignolo, stai ponderando quello che sto ponderando io?
Credo di sì Prof, ma se i nani fossero stati otto, si sarebbe chiamata... 'Biancaneve e gli otto nani'
***

rossimarko Profilo | Guru

>".net 2005 / 2008? Perché usare una cosa non ancora sicura. Tutti
>usano .net 2003"
>La mia risposta:
>



Ho avuto modo di programmare in vb.net ma devo dire che comincia a diventare usabile dalla versione 2005... Nella 2003 non c'era neanche la using
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

Lucifel Profilo | Junior Member

Purtroppo non sono stato io a scegliere il linguaggio di programmazione... Mi è stato imposto dal cliente (o meglio dall'ufficio sicurezza informatica). Io ho consigliato qualcosa di più moderno, ma non c'è stato verso, quindi mi devo accontentare.
E per fortuna che si sono arresi a .net, perché mi avevano quasi imposto di usare vb 6.0.

Grazie comunque.
Vedo come sistemare questo caso. Tuttal'più farò dei go to o una sequenza di 7 if else end if dentro ogni ciclo for (che sono 4)



Diego
***
Mignolo, stai ponderando quello che sto ponderando io?
Credo di sì Prof, ma se i nani fossero stati otto, si sarebbe chiamata... 'Biancaneve e gli otto nani'
***
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