Saltar al contenido

Error del compilador de C#: “no todas las rutas de código devuelven un valor”

Después de de una larga recopilación de información dimos con la respuesta esta aprieto que tienen ciertos de nuestros lectores. Te brindamos la solución y esperamos servirte de mucha apoyo.

Te estás perdiendo un return declaración.

Cuando el compilador mira su código, ve una tercera ruta (el else no codificó) que podría ocurrir pero no devuelve un valor. Por eso not all code paths return a value.

Para mi solución sugerida, puse un return después de que termine su bucle. El otro punto obvio – añadir un else que tenía un return valor a la if-else-if – rompería el for lazo.

public static bool isTwenty(int num)

    for(int j = 1; j <= 20; j++)
    
        if(num % j != 0)
        
            return false;
        
        else if(num % j == 0 && num == 20)
        
            return true;
        
    
    return false;  //This is your missing statement

El compilador no obtiene la lógica intrincada a la que regresa en la última iteración del bucle, por lo que piensa que podría salir del bucle y terminar sin devolver nada.

En lugar de regresar en la última iteración, simplemente regrese true después del bucle:

public static bool isTwenty(int num) 
  for(int j = 1; j <= 20; j++) 
    if(num % j != 0) 
      return false;
    
  
  return true;

Nota al margen, hay un error lógico en el código original. estas comprobando si num == 20 en la última condición, pero deberías haber comprobado si j == 20. También comprobando si num % j == 0 era superfluo, como siempre true cuando llegues allí.

También experimenté este problema y encontré que la solución fácil es

public string ReturnValues()

    string _var = ""; // Setting an innitial value

    if (.....)  // Looking at conditions
    
        _var = "true"; // Re-assign the value of _var
    

    return _var; // Return the value of var

Esto también funciona con otros tipos de devolución y da la menor cantidad de problemas.

El valor inicial que elegí fue un valor alternativo y pude reasignar el valor tantas veces como fuera necesario.

Tienes la opción de añadir valor a nuestra información participando con tu experiencia en las explicaciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *