Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

C# C# Streams and Data Processing Streaming Data on the Net WebClient

Error: A local variable named `stream' cannot be declared in this scope ...

I',m getting this Error "A local variable named stream' cannot be declared in this scope because it would give a different meaning tostream', which is already used in a `parent or current' scope to denote something else Compilation failed: 1 error(s), 0 warnings"

Any ideas? Thanks

Program.cs
using System;
using System.IO;
using System.Net;

namespace Treehouse.CodeChallenges
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(GetTreehouseHome());
        }

        public static string GetTreehouseHome()
        {
            string treehouse = "";
            // Put code here
            using (WebClient client = new WebClient ());
                byte[] treehouseBytes = webClient.DownloadData("https://www.teamtreehouse.com");
            using(var stream = new MemoryStream(treehouseBytes)) using(var stream = new StreamReader(stream))



            return treehouse;
        }
    }
}

1 Answer

Allan Clark
Allan Clark
10,810 Points

The error message is telling you that you have 2 variables declared as 'stream'. There are also some other syntax issues, for example putting a semi-colon after the webclient using statement immediately disposes of it and wont be ready to use. The following syntax should get you ready for the next challenge, let me know if you have any questions about what is there.

        public static string GetTreehouseHome()
        {
            string treehouse = "";
            // Put code here
            using(var webClient = new WebClient()){
                byte[] treehouseBytes = webClient.DownloadData("https://www.teamtreehouse.com");

                using(var stream = new MemoryStream(treehouseBytes)) 
                using(var reader = new StreamReader(stream))
                {

                }

            }
            return treehouse;
        }