Why do I get a NullReferenceException in the following code?
private string FileR ( string name )
{
    string[] content = ReadSite(name, Protocol.read, url);
    Request_Template newCon;
    string[] final = new string[content.Length];
    for (int i = 0; i < content.Length; i++)
    {
        if (content[i].Equals(null))
        {
            return "content [" + i + "] returns null";
        }
        newCon = JsonSerializer.Deserialize<Request_Template>(content[i]);
        if (newCon.Sender.Contains(myAccount.Username))
        {
            newCon.Sender = "Me";
        }
        string sender = newCon.Sender;
        string message = newCon.Message;
        final[i] = sender + ":\t" + message;
    }
    string nFinal = string.Concat(final);
    Thread.Sleep(10);
    return nFinal;
}
string[] ReadSite(string filename, Protocol p, string uri)
{
    Read_Template temp = new Read_Template
    {
        Chat = filename,
        Code = key1
    };
    string myUrl = JsonSerializer.Serialize(temp);
    WebClient web = new WebClient();
    Stream stream = web.OpenRead(uri + "/" + myUrl);
    int length = 0;
    while (new StreamReader(stream).ReadLine() != null)
    {
        length++;
    }
    string[] content = new string[length];
    using (StreamReader reader = new StreamReader(stream))
    {
        for (int i = 0; i < length; i++)
        {
            content[i] = reader.ReadLine();
        }
    }
    return content;
}
I've tried using the debugging tools with no avail.  When I ran the code, it said that the error came from string [] final = new string [content.Length];
 and for (int i = 0; i < content.Length; i++).That lead me to assume that content was null. But when I used the watch window and it said that the variable content cannot be determined. How do I fix this?
 
     
    