Похоже, вам не нужен Dictionary<DateTime, Dictionary<string, string>>
, поскольку у вас есть только один элемент во внутреннем словаре, вам нужен Dictionary<DateTime, Dictionary<string, Event>>
, где Event
- это класс, который содержит данные о ваших событиях.Что-то вроде:
public class Event
{
public string Name {get; set;}
public string Guid {get; set;} // you could actually use the GUID type here!
}
Затем вы должны заполнить его следующим образом:
while (reader.Read())
{
DateTime date = DateTime.Parse(reader["Event_Date"].ToString());
string name = reader["Event_Name"].ToString();
string guid = reader["Event_GUID"].ToString();
dateDict.Add(date, new Event() { Name = name, Guid = guid };
}
Затем, когда вы получите элемент из словаря по ключу:
var item = dateDict[someKey];
Вы можете получить свое имя и подсказку:
var name = item.Name;
var guid = item.guid;
Кроме того, поскольку вы выполняете итерацию по своему словарю по числовому индексу, а не по ключу, кажется, что вам, вероятно, словарь вообще не нужен.Может быть, все, что вам нужно сделать, это добавить свойство Date
к вашему Event
и просто иметь List<Event>
.