There are currently no frequently asked questions associated with this exercise – that’s where you come in! You can contribute to this section by offering your own questions, answers, or clarifications on this exercise. Ask or answer a question by clicking reply () below.
If you’ve had an “aha” moment about the concepts, formatting, syntax, or anything else with this exercise, consider sharing those insights! Teaching others and answering their questions is one of the best ways to learn and stay sharp.
Join the Discussion. Help a fellow learner on their journey.
Ask or answer a question about this exercise by clicking reply () below!
You can also find further discussion and get answers to your questions over in Language Help.
Agree with a comment or answer? Like () to up-vote the contribution!
Hi, the reason for this error is because you wrote the else statement incorrectly. Else statements are an optional block of code you can add to conditional statements to catch cases that don’t match conditions. What an else statement basically does is it runs the block of code inside it IF it doesn’t meet the requirements of the IF or the ELSE IF you had written
Since it is a catch case, you don’t write a requirement for it. You wrote:
which you don’t do for a catch statement - Else should not have a requirement. It should have been written like this:
else
{
Console.WriteLine("Solitaire");
}
You also forgot to include braces { these are braces } for the code block that will output “Solitaire”
I understand the syntax of the if/else if. Can the same outcome be accomplished by using a series of if statements and ending with an else statement at the end?
I know this is a very late reply, but, no an “if/else” statement means that if the requirement is met in the “if” statement is met, the codeblock is ran, however if it is not, the “else” block will run, so only one codeblock will be ran, the “if”, or the “else”. e.g:
using System;
namespace HelloWorld {
class Hello {
static void Main(string[] args) {
Console.WriteLine("Only the if statement will be ran here:");
int number = 2;
if(number == 2)
{
Console.WriteLine("number is 2");
} else {
Console.WriteLine("number is not 2");
}
}
}
}
But with an “if/else if” statement, it will go through each statement, and run the first one that is true, eg:
using System;
namespace example2 {
class Program{
static void Main(string[] args) {
Console.WriteLine("Only the second code block will be ran because even though the second and third conditions are true, the second comes first.");
int number = 3;
if(number > 3)
{
Console.WriteLine("The number is greater than 3");
} else if (number > 2)
{
Console.WriteLine("The number is greater than 2");
} else if (number > 1)
{
Console.WriteLine("The number is greater than 1");
}
}
}
}
So an “if/else” will only run one, or the other, while the “if/else if” will go through and run the first true condition
Thank you for that reply, I knew there must have been some detail I was not giving enough attention to. It makes perfect sense that once a condition is met, the block is run, so multiple IF statements will have no impact if a preceding one in the series is satisfied.