При таком подходе вы можете избавиться от switch
или if-else
операторов
Создать класс для представления часовых поясов
public class MyTimezone
{
public string City { get; set; }
public string Name { get; set; }
}
Создать список часовых поясов и связать его с listbox
var timezones = new[]
{
new MyTimezone { City = "Honolulu", Name = "Hawaii-Aleutian" },
new MyTimezone { City = "San Francisco", Name = "Pacific" },
// and so on...
}
cityListBox.DisplayMember = "City";
cityListBox.ValueMember = "Name";
cityListBox.DataSource = timezones;
Затем в коде, где вы хотите использовать выбранные часовые пояса
var selected = (MyTimeZone)cityListBox.SelectedItem;
timeZoneLabel.Text = selected.Name;
Поскольку свойство Name
используется как ValueMember
, вы можете использовать свойство SelectedValue
.
// SelectedValue can bu null if nothing selected
timeZoneLabel.Text = cityListBox.SelectedValue.ToString();