Обнуление словаря данных после каждого запуска
У меня есть очень трудный вопрос, надеюсь, он будет иметь смысл. Я читаю два разных типа текстовых файлов и проверяю записи в словаре. Текстовые файлы могут иметь разные даты, поэтому мне нужно сбросить словарь после того, как он проверит один файл, и снова прочитать его через базу данных, чтобы получить новую дату текстового файла. Как мне заглушить словарь после каждого прогона?
Что я уже пробовал:
private Dictionary<DateTime, Dictionary<string, long>> DataByNum; private Dictionary<DateTime, Dictionary<string, long>> DataByID; private Dictionary<string, long> GetNumData(DateTime DailyFileDate) { DailyFileDate = DailyFileDate.Date; if (DataByNum == null || !DataByNum.ContainsKey(DailyFileDate)) { CacheData(DailyFileDate); } return DataByNum[DailyFileDate]; } private Dictionary<string, long> GetIDData(DateTime DailyFileDate) { DailyFileDate = DailyFileDate.Date; if (DataByID == null || !DataByID.ContainsKey(DailyFileDate)) { CacheData(DailyFileDate); } return DataByID[DailyFileDate]; } private void CacheData(DateTime DailyFileDate) { DailyFileDate = DailyFileDate.Date; if (DataByNum == null) { DataByNum = new Dictionary<DateTime, Dictionary<string, long>>(); } if (DataByID == null) { DataByID = new Dictionary<DateTime, Dictionary<string, long>>(); } var result = ExtractData(DailyFileDate); foreach (DataRow row in result) { var date = DateTime.Parse(row.GetString("FileDate")).Date; if (!DataByNum.ContainsKey(date)) { DataByNum[date] = new Dictionary<string, long>(); DataByNum[date].Add(row.GetString("Num"), row.GetLong("RID").Value); } if (!DataByID.ContainsKey(date)) { DataByID[date] = new Dictionary<string, long>(); DataByID[date].Add(row.GetString("CustomerID"), row.GetLong("RID").Value); } }
[no name]
yourDictionary.Очистить()?
SmartDeveloping
Есть ли способ, которым я могу построить только один словарь, в соответствии с которым я читаю файл?
[no name]
Поскольку ваш словарь, похоже, один и тот же, я не понимаю, почему вы думаете, что вам нужно иметь больше одного.
SmartDeveloping
Да, у меня возникли проблемы с преобразованием этого в один.