2010-11-27 4 views
0

je pris cet avertissement, où est le problème? J'ai cherché et vu d'autres questions au sujet de cette erreur, mais je ne pouvais pas comprendre ce qui est le problème de ce code, merci à l'avancecode inaccessible détecté

public PictureBox kingmove(int i, int j) 
    { 
     return getinfo(i, j); 

     if (i < 9)///here is the problem 
     { 
      grid[i, j] = grid[i - 1, j - 1]; 

     } 
     else 
     { 
      grid[i, j] = grid[i, j]; 


     } 

Répondre

4

La première déclaration est une déclaration de retour qui laissera le reste du code inaccessible.

Si vous voulez simplement appeler getinfo dans le cadre de la logique de kingmove, vous devez supprimer le return. C'est à dire.

getinfo(i, j); 

En supposant getinfo renvoie une instance de PictureBox, vous pouvez attribuer cela à un local, de sorte que vous pouvez traiter la sortie de la méthode. Par exemple.

var info = getinfo(i, j); 
2

Vous avez une déclaration de retour au début de votre bloc de méthode, donc la méthode va toujours quitter là.

Si vous souhaitez exécuter l'autre code qui manipule la grille, déplacez l'instruction return après elle.

1

Le code écrit après une instruction return sera traité comme inaccessible depuis votre retour de la fonction.

Et compilateur détecte cela et vous avertir comme

Questions connexes