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

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

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

{

forReturn = new string[0, 0];

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

return forReturn;

}
qew rg3Ученик (78) 2 недели назад
он инициализируется в коде
forReturn = new string[10, 10];
а потом заполняется
qew rg3, в твоём коде он нигде не инициализируется
Jurijus Zaksas Искусственный Интеллект (426039) 2 недели назад
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;
Похожие вопросы