Duvida Retornar Vetor de String em Função

Respondido Duvida Retornar Vetor de String em Função

  • sábado, 18 de agosto de 2012 14:54
     
      Contém Código
    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
     
     Respondido

    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,