Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

C# не все пути к коду возвращают значение, не могу понять в чем проблема

qew rg3 Ученик (60), на голосовании 6 месяцев назад
Почему-то ругается типа не все пути к коду возвращают значение, хотя вроде все норм должно быть
private static string[,] TextToArray(string textForArray){
string[,] forReturn;
if (textForArray!="")
{
//здесь формируется двумерный массив, разбивая несколько раз textForArray
}
else
{
forReturn = new string[0, 0];
forReturn[0,0]="Ошибка";
}
return forReturn;
}
Голосование за лучший ответ
Bloody Slave Гуру (3424) 7 месяцев назад
Если условие if (textForArray != "") выполняется, то массив forReturn не инициализируется и не возвращается.
 else  

{

forReturn = new string[0, 0];

forReturn[0, 0] = "Ошибка";

return forReturn;

}
qew rg3Ученик (60) 7 месяцев назад
он инициализируется в коде
forReturn = new string[10, 10];
а потом заполняется
qew rg3, в твоём коде он нигде не инициализируется
Jurijus Zaksas Искусственный Интеллект (445813) 7 месяцев назад
forReturn = new string[0, 0]
Смени на 1,1
Если не поможет, значит, компилятор не может обработать все ветки почему-то. Перепиши так:

 string[,] forReturn = new string[1, 1];  
if (textForArray=="")
{
forReturn[0,0]="Ошибка";
return forReturn;
}
forReturn = new string ...
//здесь формируется двумерный массив, разбивая несколько раз
return forReturn;
Похожие вопросы