Я написал для вас комментарий:
Что произойдет, если число элементов списка работников будет ноль ?
Похоже, это вопрос компилятора, и он больше не исследует ваш код!:)
На самом деле этой причины достаточно для того, чтобы компилятор показал вам нижнюю ошибку
не все пути кода возвращают значение
Когда компилятор сталкивается с циклом во всем теле метода, он предполагает, что условие цикла приводит к тому, что тело цикла игнорируется, тогда он ожидал также любое значение вне цикла.
Да, даже если мы устанавливаем условие цикла так, чтобы цикл выполнялся!
Доказательство:
С ошибкой:
public static object TryDoStuff()
{
var result =0;
for (int i = 0; i < 3; i++)
{
Console.WriteLine("Add 100 unit");
result += 100;
return result;
}
//Console.WriteLine("last line");
// return result;
}
Без ошибок:
public static object TryDoStuff()
{
var result =0;
for (int i = 0; i < 3; i++)
{
Console.WriteLine("Add 100 unit");
result += 100;
// return result; you can un-comment this line too
}
Console.WriteLine("last line");
return result;
}