Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

C# C# Objects Methods Return Values

Li Yu
Li Yu
2,067 Points

The name 'width' does not exist in the current context.

I thought my codes are as same as the ones written in the video, but the compiler said that "Map.cs(16,40): error CS0103: The name 'width' does not exist in the current context." How could I fix this error?

Game.cs

using System; namespace TreehouseDefense { class Game { public static void Main() { Map map = new Map(8, 5);

      Point point = new Point(4, 2);
      bool isOnMap = map.OnMap(point);
      Console.WriteLine(isOnMap);

      point = new Point(8, 5); //zero base counting
      Console.WriteLine(isOnMap);
    }
}

}

Map.cs namespace TreehouseDefense { class Map { public readonly int Width; public readonly int Height;

public Map(int width, int height)
{
  Width = width; 
  Height = height; 
}

public bool OnMap(Point point)
{
  return point.X >= 0 && point.X < width &&
         point.Y >= 0 && point.Y < height; 
}

} }

Thanks a lot.

1 Answer

Steven Parker
Steven Parker
231,236 Points

:point_right: You probably need to spell "Width" with a capital "W".

Remember that C# is case-sensitive, and the read-only instance variables of the Map object are Width and Height, both spelled with a capital first letter.