So I can't seem to get an else if to work right.

What I've been doing is writing a unit converter to try and teach myself the basics of programming, I'm kind of new to it. So new as to say this is actually my first working while loop. So I've been writing the code, and then doing as a friend who is somewhat more experienced at programming has told me to do. Which is separate said code out into methods. I used the VS2010 automatic method making thing for this, because I didn't know how to do it myself. The full source code in question is here <http://pastebin.com/9mZPPtWr> the problem bit is this one 

` 

```
      else if (type == "cups")

      {

        Console.WriteLine("Enter a number of liters to be converted into cups.");
        amount = Convert.ToDouble(Console.ReadLine());
        Console.WriteLine(cupsTolitConverter.Convert(amount) + " cups to said number of liters.");

      }`

```

I entered cups into the console, and despite every other entry/imput working fine and the loop looping back to the selection bit each time, I can't seem to get that section of code to work. It just won't display, I've been working on it for an hour now, and I starting to think I'm missing something incredibly obvious, or something incredibly arcane. Also I have a lot of repeated code and I was wondering if there was a way to simplify that down to less repeats.

Thanks, and I hope that was readable and understandable. Even if my code probably isn't. Also I got the starting code(the top bit) from Accelerated C#. Will elaborate more on my question if needed.
['https://Stackoverflow.com/questions/12100977', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/1620762/']
I ran your code and (after fixing a simple error) it correctly enters the *else if* that you reference.

You may want to echo back what you type in to make sure you are not mistyping your input.

The error was that you have

> 
> done
> 
> 
> 

on a line by itself. Presumably you meant to assign a value.
If the "If else" doesn't get hit, it means one of two things: Either a previous condition is true, or the condition is false. 

The '==' operator is case sensitive when comparing [strings](http://msdn.microsoft.com/en-us/library/362314fe%28v=vs.71%29.aspx) So be sure to take that into account . It is a more complex topic that will make sense later on as you progress.

Good luck!