Привет, я храню разговор в чате в типе свойства:
public Dictionary<string, List<IRp>> History { get; set; }
Ключ - ник, а Список - коллекция, которая содержит историю общения.
Я использую в хранилище этот метод SaveRp, IRp - это интерфейс, который реализует класс сообщений.
public void SaveRp(IRp rp)
{
if (!History.ContainsKey(rp.Nick))
{
History.Add(rp.Nick, new List<IRp> { rp });
}
else
{
History[rp.Nick].Add(rp);
}
}
Проблема в том, что я храню сообщения в этой последовательности для одного и того же Ника (например, Тома):
1 текст сообщения: Hello
2 текст сообщения: как
3 текст сообщения: являются
4 текст сообщения: вы?
Проблема в том, что я загружаю историю для этого ника следующим способом:
public IList<IRp> GetRps(string nick)
{
var result=new List<IRp>();
if (History.ContainsKey(nick))
{
result= History[nick];
}
return result;
}
Я получаю это:
1 текст сообщения: вы?
2 текст сообщения: вы?
3 текст сообщения: вы?
4 текст сообщения: вы?
Я думаю, что ошибка должна быть в методе SaveRp и как-то перезаписывать / перезаписывать