Un break sur un if ? [Résolu]

Signaler
-
 Utilisateur anonyme -
void ValidNouvIntClick(object sender, System.EventArgs e)
{

if((textPre.Text!="")&&(textNom.Text!=""))
{

if(comboBox1.Items.Contains(NIntegrateur)==true){
MessageBox.Show(NIntegrateur+" existe déjà!");
break ; // y'a t'il une instruction qui permet d'arreter l'execution de la fonction ValidNouvIntClick ?
}
instructions ...
}

Merki à vous :)
U just need a fuck for Ur violence

16 réponses

Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
37
A moins que tu souhaites lancer une exeception :

throw new Exception( NIntegrateur + " existe déjà!" );
Messages postés
794
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
19 août 2008
9
[...]
if(comboBox1.Items.Contains(NIntegrateur)==true){
MessageBox.Show(NIntegrateur+" existe déjà!");
}

else
{
instructions ...
}
Messages postés
794
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
19 août 2008
9
Sinon -au pire- tu peux mettre un return; qui te fera sortir de ta fonction... mais c'est plutôt déconseillé d'avoir plusieurs points de sortie dans une fonction...

nope return n'est pas la solution et le else non plus! je veux pas executer les instructions qui suivent sinon je chercherais pas un break...

U just need a fuck for Ur violence
Messages postés
794
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
19 août 2008
9
Quand tu demandes :

// y'a t'il une instruction qui permet d'arreter l'execution de la fonction ValidNouvIntClick ?

alors la réponse est : return;, ou plus proprement par une série de else... Ou alors je ne comprend pas de quelles instructions tu parles.

En ActionScript par exemple, on peut utiliser un break pour arreter l'execution d'un script (une fonction par exp).

ma fonction( ){
instructionsA
if (kkchose){
Sortir de ma fonction sans passer dans les instructionsB
}
else{
instructionsB
}

}

en quelque sorte je cherche la fonctionnalité Goto... sauf ke Goto ne convient que s'il y a d'autres instructions a executer :

ma fonction(){
if(kkchose)
{
Goto Fin;
}

Fin :
// goto sur rien c'est pas possible
}
U just need a fuck for Ur violence
Messages postés
794
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
19 août 2008
9
Au risque de me répeter :

return;

As tu essayé ?
Messages postés
794
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
19 août 2008
9
Ou sinon faire comme tu as fait dans ton exemple :

ma fonction( ){
instructionsA
if (kkchose){
Sortir de ma fonction sans passer dans les instructionsB
}
else{
instructionsB
}
}

Dans ce cas précis, si "kkchose" est vrai, alors tu n'effectuera jamais les "instructionsB", sans même utiliser de "break"... c'est le principe du if / else

ma fonction contient deja un return variable;
le compilateur ma jette avec un deuxieme return....

(eh merci de repondre kan meme c sympa a toi)
U just need a fuck for Ur violence
Messages postés
794
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
19 août 2008
9
Pourrais tu mettre ton code ici, car tu peux parfaitement mettre plusieurs return dans une méthodes... (si ta méthode renvoie une valeur, chaque return doit aussi en renvoyer une...)

c bien le probleme je peux pas utiliser return dans ce cas puisque :

1) je ne souhaite pas renvoyer une valeur, mais simplement arreter l'execution/Sortir de la methode

2) la methode renvoi deja une valeur

U just need a fuck for Ur violence
Messages postés
794
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
19 août 2008
9
Si la méthode renvoie une valeur, tu ne pourra jamais en sortir sans renvoyer de valeur...

Si elle renvoie un objet, dans ce cas utilise un return(null); (et teste ce que tu récupère de ta méthode pour savoir si l'appel a échoué ou non), si elle renvoie un entier par exemple, utilise un return(-1), etc...

Snif.. c un peu barbare pour si peu non ?!
Quitte a faire un truc moche je v faire un goto sur une instruction qui sert à rien...

Je ne valide pas la reponse au cas ou kelkun trouve une solution un jour , qui sait ?!

Merci à toi Nikoui

U just need a fuck for Ur violence
Messages postés
794
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
19 août 2008
9
L'autre solution plus propre, c'est le else...
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
37
Pas de goto pour ça.. if/else ou return, Nikoui t'a même donné le code dans son premier message.

nan mais les gars je sais ce que sai q'un else
Je v pas vous expliker prkoi/comment javai besoin de ca , mais vous m'avez repondu... du coup j'ai changé quelques trucs pour contourner le probleme

U just need a fuck for Ur violence