// add an already existing variable public bool addVariable(Variable v) { if(v == null || v.id.Length == 0) { return false; } if(!hasVariable(v) && v.category < m_categories.Count()) { m_variables.Add(v); return true; } return false; }
// remove an already existing variable public bool removeVariable(Variable v) { if(v == null) { return false; } for(int i=0;i<m_variables.Count();i++) { if(v.id.Equals(m_variables[i].id, StringComparison.OrdinalIgnoreCase) && v.category == m_variables[i].category) { m_variables.RemoveAt(i); return true; } } return false; }
// get the index of an already existing variable from the collection public int indexOfVariable(Variable v) { if(v == null || v.id.Length == 0) { return -1; } for(int i=0;i<m_variables.Count();i++) { if(v.category == m_variables[i].category && v.id.Equals(m_variables[i].id, StringComparison.OrdinalIgnoreCase)) { return i; } } return -1; }