Почему Dictionary.Add перезаписывает все элементы в моем словаре?

У меня есть словарь типа Dictionary<string, IEnumerable<string>>и список строковых значений. По какой-то причине каждый раз, когда я делаю Add, каждое значение в словаре перезаписывается. Я совершенно озадачен тем, почему это происходит. Я убедился, что это не справочная проблема, заключающаяся в объявлении и инициализации объекта IEnumberable в цикле, чтобы его область действия не выходила за пределы одной итерации, и он все еще делает это. Вот мой код :

foreach (string type in typelist)
{
    IEnumerable<string> lst = 
        from row in root.Descendants()
        where row.Attribute("serial").Value.Substring(0, 3).Equals(type)
        select row.Attribute("serial").Value.Substring(3).ToLower();

    serialLists.Add(type, lst);
}

, где typelist— это IEnumerable<string>, root— это XElement, а serialLists— мой словарь.

6
задан Annath 23 April 2012 в 17:02
поделиться