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 trialAmy Shah
25,337 Pointsthis question did not make sense to me and I would appreciate some suggestions
Can you give me some suggestions on this question
@model Treehouse.Models.VideoGame
@{
ViewBag.PageTitle = "Video Game Detail";
}
<h1>@Model.Title</h1>
<h5>Favorite: @Model.Favorite</h5>
<h5>Description:</h5>
<div>@Model.Description</div>
<h5>Characters:</h5>
<div>
<ul>
@foreach (var character in Model.Characters)
{
<li>@character</li>
}
</ul>
</div>
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 + ")";
}
}
}
}
3 Answers
Henrique Vignon
Courses Plus Student 6,415 PointsIt's asking you to run a ternary check on the Favorite property, which is a Boolean, then set the Label "Property: " in the view to say "Yes" in case of true, and "No" in case of false, so it will be something like this:
<h5>Favorite: @(Model.Favorite ? "Yes" : "No")</h5>
A ternary operation is basically a simplified IF check that runs on a single line, so the check in this case is Model.favorite, since it's a boolean it can either be true of false, the "?" is what tells the interpreter/compiler that this is a ternary check, then whatever comes right after the "?" is what will happen in case that checks pass as true, the ":" is the same thing as an ELSE in a IF, so whatever comes after it is what will happen if the check pass as false.
Steven Parker
231,248 PointsYou're asked to change true or false into "Yes" or "No".
The challenge says to do this with the ternary operator. Do you remember what that is? It uses a question mark and a colon, like this:
/*value or expression to test*/ ? /*value to return if true*/ : /*value to return if false*/
So, to begin with Model.Favorite is either true or false. Your task is to apply a ternary expression to use it to get either the string "Yes" or "No".
Amy Shah
25,337 Pointsthank you everyone I was able to figure this out but I really appreciate the great explanations
Henrique Vignon
Courses Plus Student 6,415 PointsHenrique Vignon
Courses Plus Student 6,415 Pointsah! someone ninja'ed me :) and with a better explanation at that.
Steven Parker
231,248 PointsSteven Parker
231,248 PointsI guess not everyone shares your opinion about the quality of the answers.