/// <summary> /// Recupera o indice com base na chave informada. /// </summary> /// <param name="key">Chave que será pesquisada.</param> /// <param name="comparisonType">Tipo de comparação.</param> /// <returns></returns> public ArrayList GetData(object key, ComparisonType comparisonType) { if (key == null) { key = CacheNull.Value; } RedBlack.COMPARE eQ = RedBlack.COMPARE.EQ; ArrayList list = new ArrayList(); if (_rbTree == null) { return(list); } switch (comparisonType) { case ComparisonType.EQUALS: eQ = RedBlack.COMPARE.EQ; break; case ComparisonType.NOT_EQUALS: eQ = RedBlack.COMPARE.NE; break; case ComparisonType.LESS_THAN: eQ = RedBlack.COMPARE.LT; break; case ComparisonType.GREATER_THAN: eQ = RedBlack.COMPARE.GT; break; case ComparisonType.LESS_THAN_EQUALS: eQ = RedBlack.COMPARE.LTEQ; break; case ComparisonType.GREATER_THAN_EQUALS: eQ = RedBlack.COMPARE.GTEQ; break; case ComparisonType.LIKE: eQ = RedBlack.COMPARE.REGEX; break; case ComparisonType.NOT_LIKE: eQ = RedBlack.COMPARE.IREGEX; break; } return(_rbTree.GetData(key as IComparable, eQ) as ArrayList); }
public ArrayList GetData(object key, ComparisonType comparisonType) { RedBlack.COMPARE compare = RedBlack.COMPARE.EQ; ArrayList result = new ArrayList(); if (_rbTree != null) { switch (comparisonType) { case ComparisonType.EQUALS: compare = RedBlack.COMPARE.EQ; break; case ComparisonType.NOT_EQUALS: compare = RedBlack.COMPARE.NE; break; case ComparisonType.LESS_THAN: compare = RedBlack.COMPARE.LT; break; case ComparisonType.GREATER_THAN: compare = RedBlack.COMPARE.GT; break; case ComparisonType.LESS_THAN_EQUALS: compare = RedBlack.COMPARE.LTEQ; break; case ComparisonType.GREATER_THAN_EQUALS: compare = RedBlack.COMPARE.GTEQ; break; case ComparisonType.LIKE: compare = RedBlack.COMPARE.REGEX; break; case ComparisonType.NOT_LIKE: compare = RedBlack.COMPARE.IREGEX; break; } result = _rbTree.GetData(key as IComparable, compare) as ArrayList; } return(result); }