Olá pedro!
Se queres listar as horas do dia no intervalo de 30 a 30 minutos pode implementar este método, no meu caso listei as horas em uma listbox:
private void ListarHorario()
{
for(int i = 60 * 6;i <= 60 * 20; i += 30)
listBox1.Items.Add((i / 60).ToString("00") + (i % 60).ToString("00") + ":00");
}
Na condição i <= 60 * 20 significa que ele vai listar as horas do dia de 30 em 30 minutos das 6h até 20h pode definir 18, 24h no seu gosto.
Acho que te serviu de ajuda, se sim marque a resposta para ajudar também outros.