Duvida Retornar Vetor de String em Função
-
sábado, 18 de agosto de 2012 14:54
Bom dia comunidade.
Bom sou iniciante em C# (todos iniciamos com essa frase...rs)
Tenho uma classe onde descrevo dois métodos um é protegido e outro publico. No método enviaResult declarei como STRING[] e estou tentando retornar um vetor string. Mas me exibe o seguinte erro
Error 1 Use of unassigned local variable 'recebeStatus' D:\Users\Uniservise\Documents\Visual Studio 2010\Projects\RastreioFacil 2\RastreioFacil 2\BLL\bllStatus.cs 56 20 RastreioFacil 2
Trecho com os métodos
protected string readUrl(string codigo) { try { StreamReader inStream; WebRequest webRequest; WebResponse webresponse; webRequest = WebRequest.Create("http://184.172.50.89/~fernando/rastreio/rastrear.php?code=" + codigo); webresponse = webRequest.GetResponse(); inStream = new StreamReader(webresponse.GetResponseStream()); return inStream.ReadToEnd(); } catch (Exception ex) { throw ex; } } public string[] enviaResult(string[] codigo) { char separador = Convert.ToChar("#"); string[] recebeStatus; try { foreach (var item in codigo) { try { recebeStatus = this.readUrl(item).Split(separador); } catch (Exception ex) { throw ex; } } } catch (Exception ex) { throw ex; } return recebeStatus; }
Caso alguém saiba me explicar o porque ou como soluciono este pequeno probleminha de iniciante eu agradeceria!
Fernando Fernandes
Todas as Respostas
-
domingo, 19 de agosto de 2012 22:55
Olá Fernando,
O problema é que você declarou o vetor de string de retorno e não instanciou ele, dessa forma como nem todos os caminhos possível estão instanciando ou passando uma referência já instanciada para este vetor o problema é acusado.
Por exemplo: o trecho que você instanciou o recebeStatus está dentro de um foreach, dessa forma, se ele não entrar neste foreach retornará o recebeStatus sem ter sido instanciado, isto é um problema, pois ele precisa retornar uma instância ou null.
Portanto, se você necessita desse foreach, a solução mais simples é setar null ou instanciar o recebeStatus na sua declaração.
-----
Se a resposta foi útil, marque-a como resposta.
Abraços,
- Editado Diego Couto domingo, 19 de agosto de 2012 22:57
- Editado Diego Couto domingo, 19 de agosto de 2012 22:59
- Marcado como Resposta Fernando Fernandes de Sousa segunda-feira, 20 de agosto de 2012 04:22

