Тип данных аналогичный таблице в C#?
Все верно, вам подойдет struct или class, чтобы описать одну запись (строку), разница между ними будет что первое - value type, не может быть null. И далее любая коллекция, даже простой массив.
Предположим что вы описали сущность так:class Item
{
    public int Id { get; set; }
    public string Title { get; set; }
    public DateTime Time { get; set; }
}
для простоты используем List - простейший динамический список, можно добавлять, удалять и т.п.:var timeTable = new List<Item>
{
  new Item { Id = 1, Title = "Иван Сергеевич", Time = DateTime.Parse("20.05.2019 18:45") },
  new Item { Id = 2, Title = "Петр Николаевич", Time = DateTime.Parse("20.05.2019 16:45") },
};
И теперь через Linq (using System.Linq;) можно работать с этими данным, работает на любой коллекции или массиве, внедряющих интерфейс IEnumerable, и предоставляет различные методы типа Where, Min, Max, OrderBy и т.п.var ordered = timeTable.OrderBy(item => item.Time); // Получили IEnumerable<Item>  отсортированный по Time
P.S. Такая запись, более похожая на SQL тоже возможна, но думаю подход с методами будет все же более удобнымvar ordered = from item in timeTable orderby item.Time ascending select item;
если вам уже пришла в голову сортировка, тогда все таки массив структур или классов (как аналогов строк БД).. после чего, можете открыть для себя списки и словари C# вместо массивов
следующий уровень игры - Entity Framework, очень упрощенная работа с БД. как раз для вашего случая, возможно будет интересен вариант БД in-memory
тут все зависит от задачи. предложенные мной варианты, скорее ориентированы на энтерпрайз, а если нужно очень легковесное решение - тогда все таки просто массивы классов или структур