예제 #1
0
        /// <summary>
        /// Remove a specified item from the list
        /// </summary>
        /// <param name="item">Item to remove</param>
        public void Remove(T item)
        {
            int index = IndexOf(item);

            if (index < 0)
            {
                throw new ArgumentException("Cannot remove the specified item because it was not found in the specified Collection.");
            }

            RemoveAt(index);
        }
예제 #2
0
 /// <summary>
 /// Returns the index of a specified KeyboardAction
 /// </summary>
 /// <param name="item">KeyboardAction to find</param>
 /// <returns></returns>
 public int IndexOf(T item)
 {
     for (int i = 0; i < m_count; ++i)
     {
         if (m_array[i] == (item))
         {
             return(i);
         }
     }
     return(-1);
 }
예제 #3
0
        /// <summary>
        /// Adds a KeyboardAction to the list
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        public int Add(T item)
        {
            if (NeedsGrowth())
            {
                Grow();
            }

            ++m_version;
            m_array[m_count] = item;

            return(m_count++);
        }
예제 #4
0
        /// <summary>
        /// Inserts a KeyboardAction at a specified position
        /// </summary>
        /// <param name="position">Insert position</param>
        /// <param name="item">Item to insert</param>
        public void Insert(int position, T item)
        {
            ValidateIndex(position, true);             // throws

            if (NeedsGrowth())
            {
                Grow();
            }

            ++m_version;
            // for (int i=m_count; i > position; --i) m_array[i] = m_array[i-1];
            Array.Copy(m_array, position, m_array, position + 1, m_count - position);

            m_array[position] = item;
            m_count++;
        }
예제 #5
0
 /// <summary>
 /// Returns true if the list contains the specified KeyboardAction
 /// </summary>
 /// <param name="item">KeyboardAction to find</param>
 /// <returns></returns>
 public bool Contains(T item)
 {
     return((IndexOf(item) == -1) ? false : true);
 }