2009-02-16 4 views
0

Je code en C# 1.1.'if' sans 'else' C#

Je veux un moyen de trouver toute la clause 'If' sans la clause 'else'. Y a-t-il un moyen facile?

Je pose cette question parce que j'ai obtenu un fichier source de projet de mon client qui a beaucoup de clause IF qui n'a pas de clause ELSE. Cela cause beaucoup de bugs. Donc, je veux analyser mon fichier source pour voir s'il y a une clause IF qui n'a pas de clause ELSE.

grâce

+0

Essayez de reformuler votre question. Je ne suis pas sûr de ce que vous demandez exactement. –

+0

Vous voulez dire que vous voulez analyser les fichiers source qui ont une condition if sans avoir d'autre condition? – Naveen

+0

Voulez-vous dire trouver toutes les zones dans votre code qui ont une déclaration if avec rien d'autre? Si oui, vous pouvez le faire avec une recherche d'expression régulière à partir de la boîte de dialogue de recherche. –

Répondre

0

Je pense que vous aurez probablement besoin d'utiliser une pile car un si pourrait être dans un autre si. Chaque fois que vous trouvez un si, poussez sur la pile. Maintenant, cherchez la fin de la phrase. Cela signifie soit a; ou des accolades assorties. Après cela, vérifiez pour d'autres. Pop la pile.

4

Si aucun outil astucieuses disponibles:

  1. Recherche simple mot si dans tous les fichiers. Pour obtenir un fichier avec le nom de fichier et le numéro de ligne.
  2. Rechercher un seul mot dans tous les fichiers. Pour obtenir un fichier avec le nom de fichier et le numéro de ligne.
  3. Dans le premier fichier, ajouter "si" à chaque ligne, dans le second add "else"
  4. fichiers Fusion
  5. Trier par nom de fichier, linenumber, (if/else)
  6. Retirez tous les Ifs suivie un autre.

Vous avez maintenant une liste de presque tous les ifs sans autre.

Cette méthode donnera des faux positifs car elle ne tient pas compte du code commenté. Mais si aucun outil n'est disponible, c'est une alternative équitable.

+0

Bonne idée. Merci. Je veux voir ce que les autres ont à dire à ce sujet. – pradeeptp

+0

Ceci ne prend pas en compte les ifs imbriqués. –

2

Il n'y a pas de moyen facile pour cela.

Rechercher si instructions dans le projet de large avec ctrl + Maj + F. Ensuite, double-cliquez rapidement sur les résultats.

Ou peut-être vous pouvez utiliser Options de recherche/Utiliser/Expressions régulières mais je pense que ce n'est pas une bonne option.

Questions connexes