В коде возникает ошибка CS0161(не все пути кода возвращают значение)
Код:
public static string[] GetFilenames(string FolderPath)
{
string[] FilePaths = Directory.GetFiles(FolderPath);
string[] FileNames = new string[FilePaths.Length];
for(int i = 0; i < FilePaths.Length; i++)
{
FileNames[i] = Path.GetFileName(FilePaths[i]);
if(i == FilePaths.Length - 1)
{
return FileNames;
}
}
}
Понятно что когда-нибудь условие выполнится, но компилятор не понимает этого.
Можно бросить исключение (которое не будет выброшено никогда), чтобы успокоить компилятор.
for(int i = 0; i < X; i++)
{
// Код
if(i == X - 1)
{
return Value;
}
}
throw new Exception("Вот сейчас очень неожиданно было");
Честно говоря, непонятно, в чём вообще смысл данного куска кода. Он совершенно равнозначен такому коду (если вы не меняете i
и/или X
внутри цикла, что было бы очень плохим стилем программирования), при этом компилятор ругаться не будет и читается такой код легче:
for(int i = 0; i < X; i++)
{
// Код
}
return Value;
Но в общем случае компилятор не обязан знать, что у вас будет происходить в процессе работы программы, он просто видит, что если if
не сработает, то из функции ничего не вернётся, а поскольку C#
строго типизированный язык, вы не можете в одной ветке кода что-то вернуть, а в другой ничего не вернуть. (Хотя, например, язык Python
такое допускает, в этом случае в нём вернётся None
, но он и не язык со строгой типизацией.)
Так что вам в любом случае надо сделать так, чтобы все ветки кода возвращали значение (либо бросали исключение).
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
пробовал добавлять blur в Effect - но это не влияет на значения канвасзначения канвас проверяю на https://browserleaks
Есть таблица с полями: Дата начала приема врача Дата окончания приема врача (В этих полях храниться время на каждый день): Понедельник Вторник...
У меня скрипт рандомно должен менять модельку, и вот когда я начал писать код Понял что переменная типа floаt может содержать только лишь 1 значание,...
У меня есть переменная: public long money; В неё может вместиться максимум 1000000000000000000 или 1Q Мне этого не хватает, можно как-то её увеличить?