Ошибка в лямбде "Not all code paths return a value in lambda expression of type" - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день ! При компиляции выдаётся такая ошибка: Not all code paths return a value in lambda expression of type Я не знаю, как её исправить. Помогите, пожалуйста.
    delegate bool BoolPassword(string s1, string s2);
    delegate bool Captha(string s1, string s2);
     static void Main(string[] args)
        {
            Console.Write("Enter password ");
            string password1 = Console.ReadLine();
            Console.Write("Repeat password ");
            string password2 = Console.ReadLine();
 
            BoolPassword bp = (s1, s2) => s1 == s2;
 
            if (bp(password1, password2))
            {
                Random rand = new Random();
 
                string resCaptha = "";
 
                for (int i = 0; i < 10; i++)
                    resCaptha += (char)rand.Next(0, 100);
 
                Console.WriteLine("Enter code " + resCaptha);
                string resCode = Console.ReadLine();
 
                Captha cp = (s1, s2) => // Здесь ошибка
                    {                        
                        if (s1 == s2)
                            Console.WriteLine("Ok");
                        else
                            Console.WriteLine("fail");                        
                    };
 
                cp(resCaptha, resCode);
            }
            else
                Console.WriteLine("Fail");
        }

Решение задачи: «Ошибка в лямбде "Not all code paths return a value in lambda expression of type"»

textual
Листинг программы
delegate bool BoolPassword(string s1, string s2);
delegate bool Captha(string s1, string s2);
class Program
{
    static void Main(string[] args)
    {
        Console.Write("Enter password ");
        string password1 = Console.ReadLine();
        Console.Write("Repeat password ");
        string password2 = Console.ReadLine();
 
        BoolPassword bp = (s1, s2) => s1 == s2;
 
        if (bp(password1, password2))
        {
            Random rand = new Random();
 
            string resCaptha = "";
 
            for (int i = 0; i < 10; i++)
                resCaptha += (char)rand.Next(0, 100);
 
            Console.WriteLine("Enter code " + resCaptha);
            string resCode = Console.ReadLine();
 
            Captha cp = (s1, s2) => // Здесь ошибка
            {
                if (s1 == s2)
                {
                    Console.WriteLine("Ok");
                    return true;
                }
                Console.WriteLine("fail");
                return false;
            };
 
            cp(resCaptha, resCode);
        }
        else
            Console.WriteLine("Fail");
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.571 из 5
Похожие ответы