I would have used Linq, although its not 'that easy' - I couldnt find a single step method .. none of this has been tested or even compiled, its just a rough idea of a possible way
DataTable myDataTable = ds.Tables["MyTable"];
IEnumerable<DataRow> query =
from myDataRow in myDataTable.AsEnumerable()
select myDataRow;
List<String> Cities = New List<String>();
foreach (DataRow dr in query)
{
Cities.Add(dr.Field<string>("City"));
}
List<String> filteredCityList = Cities.Distinct();
NB : This was entered from my MacBook, I'd be careful of copying and pasting it - retype it is better, it looks like the MacBook has entered some strange quotes for example