Sélectionnez Cas de Chute grâce à ne Pas en Condition VB.NET
Comment Ajouter Pas de condition dans le ci-dessous, sélectionnez cas.
Est <> les œuvres de valeur unique, et 'À' travaille pour une Gamme mais les valeur sont des valeurs spécifiques il n'y a pas de séries de nombres. Est-il possible d'utiliser select cas dans ce scénario, ou dois-je passer à if-else. Ex: je ne veux pas le cas à exécuter lorsque la valeur est 0 et 3
Select value
case 0,1,2,3
End Select
OriginalL'auteur kurozakura | 2011-03-23
Vous devez vous connecter pour publier un commentaire.
Je ne suis pas sûr de comprendre la question...
Pourquoi ne pouvez-vous pas tout simplement écrire le code d'exemple comme ceci:
Rien n'est exécuté que lorsque
value = 0
ouvalue = 3
. La série de valeurs fournies à unCase
déclaration n'a pas à être séquentielle.Mise à jour en réponse à un commentaire:
Je voudrais écrire que de cette façon, en prenant avantage de la
Case Else
étiquette:Bien sûr, si vous n'avez pas tout le "travail" à faire dans le cas où l'utilisateur sélectionne le corriger valeur, il semble y avoir peu de point à l'aide d'un
Select Case
instruction à tous. La règle devrait être de utilisez celui de votre code le plus clair et facile à comprendre. Il n'y a que peu de validité à la suspicion queSelect Case
est plus rapide qu'uneIf
déclaration—le compilateur est assez intelligent pour produire pratiquement équivalent résultats dans presque tous les cas.J'ai mis à jour ma réponse avec un autre exemple de code. Cela vous aide?
J'ai pensé à ça aussi, mais je voulais juste savoir si cela peut être fait dans un seul cas . comme Si ce N' (1,5,8) puis showMessagebox() .Au lieu de if (1,5,8) DoWork() Else ShowMessagebox().
Pas de. Vous ne pouvez pas le faire. Et il n'y a absolument aucune raison de le faire, soit. VB.NET est la seule langue qui prend en charge la
Case 1, 2, 3
de la syntaxe. Vous ne pouvez même pas écrire qu'en C#. Vous avez besoinIf (i = 1) OrElse (i = 5) OrElse (i = 8) Then
. Que pensez-vous est mal avec ça, exactement?je voulais juste savoir si c'était possible, c'est tout.
OriginalL'auteur Cody Gray
Appuyant sur ce que Cody a écrit je voudrais aller avec:
L'extra branches sont juste pour clarifier l'intention du code et pour se prémunir contre de futures modifications.
OriginalL'auteur Ando
J'ai souvent combiner SELECT/case avec if/END if. Le premier à attraper un intervalle, puis un deuxième à faire la même chose avec la gamme, mais peut-être avec de petites différences.
c'est seulement un exemple de code que j'ai écrit pour cette réponse, pas de code de production. 😉
OriginalL'auteur Stefan