public void AddValue(Tm_DictionaryItem item) { if (!m_Id2Value.ContainsKey(item.nId) && !m_Value2Id.ContainsKey(item.strValue)) { m_Dictionary.Add(item); m_Value2Id.Add(item.strValue, item.nId); m_Id2Value.Add(item.nId, item.strValue); if (!m_ValueForCheck2Id.ContainsKey(item.strValue.ToUpperInvariant())) { m_ValueForCheck2Id.Add(item.strValue.ToUpperInvariant(), item.nId); } } }
/// <summary> /// Метод переставляет на первое место в словаре значение с переданным индексом /// </summary> /// <param name="nIndexOfItem">Индекс значения, которое надо поставить на первое место в словаре</param> /// <returns>True - удачная перестановка. False - неудачная перестановка.</returns> public bool SetThisItemOnTheFirstPlace(int nIndexOfItem) { if (nIndexOfItem >= m_Dictionary.Count) { System.Diagnostics.Debug.Assert(false); return(false); } else { Tm_DictionaryItem item = m_Dictionary[nIndexOfItem]; List <Tm_DictionaryItem> newDictionary = new List <Tm_DictionaryItem>(); newDictionary.Add(item); for (int i = 0; i < m_Dictionary.Count; i++) { if (i != nIndexOfItem) { newDictionary.Add(m_Dictionary[i]); } } m_Dictionary = newDictionary; return(true); } }