示例#1
0
        public bool Add(byte[] compositeKey, ResultItem resultItem)
        {
            bool          retVal = false;
            ResultItemBag resultItemBag;

            if (KeyBagMapping.TryGetValue(compositeKey, out resultItemBag))
            {
                SortedResultItemBagList.Remove(resultItemBag);
                resultItemBag.Add(resultItem);
                retVal = true;
            }
            else
            {
                resultItemBag = new ResultItemBag(BaseComparer, compositeKey);
                resultItemBag.Add(resultItem);
                KeyBagMapping.Add(compositeKey, resultItemBag);
            }
            SortedResultItemBagList.Add(resultItemBag);
            return(retVal);
        }
示例#2
0
        public bool Add(byte[] compositeKey, ResultItemBag resultItemBag)
        {
            bool          retVal = false;
            ResultItemBag storedResultItemBag;

            if (KeyBagMapping.TryGetValue(compositeKey, out storedResultItemBag))
            {
                SortedResultItemBagList.Remove(storedResultItemBag);
                foreach (ResultItem resultItem in resultItemBag)
                {
                    storedResultItemBag.Add(resultItem);
                }
                SortedResultItemBagList.Add(storedResultItemBag);
                retVal = true;
            }
            else
            {
                KeyBagMapping.Add(compositeKey, resultItemBag);
                SortedResultItemBagList.Add(resultItemBag);
            }
            return(retVal);
        }