Question: I am having tough time in selecting value from drop down using C# binding of WebDriver. I have worked on neither C# nor WebDriver in past. I am using WebDriver - Selenium-dotnet2.0b3 with Visual Studio C# 2010 Express edition.
I have added WebDriver.Common, WebDriver.Firefox and WebDriver.Remote to my solution. I tried using this -

```
IWebElement dateOfBirth = webdriver.FindElement(By.Id("join_birth_day"));
List<IWebElement> dateOfBirthOptions = (List<IWebElement>)dateOfBirth.FindElement(By.TagName("option"));

foreach(IWebElement dateOfBirthOption in dateOfBirthOptions)  
{
    if (dateOfBirthOption.Equals("3"))
    {
        dateOfBirthOption.Select();
    }
}

```

But got to see error, when running my solution in NUnit

```
LiveCams.CreateAccount.createAccount:
System.InvalidCastException : Unable to cast object of type 'OpenQA.Selenium.Firefox.FirefoxWebElement' to type 'System.Collections.Generic.List`1[OpenQA.Selenium.IWebElement]'.

```

And if I don't cast then would not be able to even build the solution.
I guess I am missing some thing trivial here. Any one who could guide me here?
Drop down selection used to be so simple in Selenium 1.0 :-/

Answer: 
1) Using a SelectElement as already commented - [How to select an option from drop down using Selenium WebDriver C#?](https://stackoverflow.com/questions/5278281/how-to-using-webdriver-selenium-for-selecting-an-option-in-c) The SelectElement belongs to the **OpenQA.Selenium.Support.UI** namespace.

2) You could also do something like this with css selectors:

```cs
WebElement dateOfBirth =  webdriver.FindElement(By.Id("join_birth_day"))
                              .FindElement(By.CssSelector("option[value='3']")).Select();

```
```
using System;
using System.Collections.Generic;
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium.Support.UI;

namespace SeleniumTests {
    class DropDownListSelection {
        static void Main(string[] args) {
            IWebDriver driver = new FirefoxDriver();
            driver.Navigate().GoToUrl("http://YourDDListpageURL.html");
            IWebElement element = driver.FindElement(By.XPath("//Select"));
            //You can locate the element by using the ID / Name as well IList
            AllDropDownList = element.FindElements(By.XPath("//option"));
            int DpListCount = AllDropDownList.Count;
            for (int i = 0; i < DpListCount; i++) {
                if (AllDropDownList[i].Text == "Coffee") {
                    AllDropDownList[i].Click();
                }
            }
            Console.WriteLine(DpListCount);
            Console.ReadLine();
        }
    }
}

```