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# ASP.NET MVC Basics Modeling and Presenting Data Adding Repository Methods

Need help. These quizzes are terrible when there is no way to check up your work and you are just running in circles...

using Treehouse.Models;

namespace Treehouse.Data
{
    public class VideoGamesRepository
    {
        private static VideoGame[] _videoGames = new VideoGame[]
        {
            new VideoGame()
            {
                Id = 1,
                Title = "Super Mario 64",
                Description = "Super Mario 64 is a 1996 platform video game developed and published by Nintendo for the Nintendo 64.",
                Characters = new string[]
                {
                    "Mario",
                    "Princess Peach",
                    "Bowser",
                    "Toad",
                    "Yoshi"
                },
                Publisher = "Nintendo",
                Favorite = true
            },
            new VideoGame()
            {
                Id = 2,
                Title = "Mario Kart 64",
                Description = "Mario Kart 64 is a 1996 go-kart racing game developed and published by Nintendo for the Nintendo 64 video game console.",
                Characters = new string[]
                {
                    "Mario",
                    "Princess Peach",
                    "Bowser",
                    "Toad",
                    "Yoshi"
                },
                Publisher = "Nintendo",
                Favorite = false
            }
        };
        public VideoGame GetVideoGames() {
            VideoGame VideoGameArray = null;
            foreach (var game in _videoGames) {
                VideoGameArray = game;
                break;
            }
            return VideoGameArray;
        }
    }
}

VideoGamesRepository.cs

using Treehouse.Models;

namespace Treehouse.Data
{
    public class VideoGamesRepository
    {
        private static VideoGame[] _videoGames = new VideoGame[]
        {
            new VideoGame()
            {
                Id = 1,
                Title = "Super Mario 64",
                Description = "Super Mario 64 is a 1996 platform video game developed and published by Nintendo for the Nintendo 64.",
                Characters = new string[]
                {
                    "Mario",
                    "Princess Peach",
                    "Bowser",
                    "Toad",
                    "Yoshi"
                },
                Publisher = "Nintendo",
                Favorite = true
            },
            new VideoGame()
            {
                Id = 2,
                Title = "Mario Kart 64",
                Description = "Mario Kart 64 is a 1996 go-kart racing game developed and published by Nintendo for the Nintendo 64 video game console.",
                Characters = new string[]
                {
                    "Mario",
                    "Princess Peach",
                    "Bowser",
                    "Toad",
                    "Yoshi"
                },
                Publisher = "Nintendo",
                Favorite = false
            }
        };
        public VideoGame GetVideoGames() {
            return _videoGames;
        }
    }
}

VideoGame.cs

namespace Treehouse.Models
{
    // Don't make any changes to this class!
    public class VideoGame
    {
        public int Id { get; set; }
        public string Title { get; set; }
        public string Description { get; set; }
        public string[] Characters { get; set; }
        public string Publisher { get; set; }
        public bool Favorite { get; set; }

        public string DisplayText
        {
            get
            {
                return Title + " (" + Publisher + ")";
            }
        }
    }
}

1 Answer

James Churchill
STAFF
James Churchill
Treehouse Teacher

Daniel,

Your second solution for Task 1 is REALLY close to the correct answer.

Here's what you currently have:

public VideoGame GetVideoGames() 
{
    return _videoGames;
}

When I add that method to the VideoGamesRepository class, I get this error message:

Your code could not be compiled. Please click on "Preview" to view the compiler errors.

If I click on the "Preview" button, I see this information:

VideoGamesRepository.cs(10,12): error CS0029: Cannot implicitly convert type `Treehouse.Models.VideoGame[]' to `Treehouse.Models.VideoGame'
Compilation failed: 1 error(s), 0 warnings

This error message from the C# compiler is telling us that the return type for the GetVideoGames method VideoGame doesn't match the type that we're returning which is VideoGame[] (an array of VideoGame objects).

Given this information, can you think of a change you could make to the GetVideoGames method that would resolve this error?

Thanks ~James