Пример #1
0
 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);
         }
     }
 }
Пример #2
0
 /// <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);
     }
 }