Example #1
0
        private List <IndexItemSearchResult> GenerateSearchResult(List <string> keys, Dictionary <string, ushort> errors, int max_items)
        {
            int count = 0;
            HashSet <IndexItemSearchResult> ret = new HashSet <IndexItemSearchResult>();

            foreach (string k in keys)
            {
                foreach (IndexItem item in _dictionary[k])
                {
                    IndexItemSearchResult result = new IndexItemSearchResult(item, (short)errors[k]);
                    if (count < max_items)
                    {
                        if (ret.Add(result))
                        {
                            count++;
                        }
                    }
                    else
                    {
                        return(ret.ToList());
                    }
                }
            }
            return(ret.ToList());
        }
        int IComparable.CompareTo(object obj)
        {
            IndexItemSearchResult result = obj as IndexItemSearchResult;
            int eval = this.Error.CompareTo(result.Error);

            if (eval == 0)
            {
                eval = result.IsLearned.CompareTo(this.IsLearned);
                if (eval == 0)
                {
                    eval = this.Result.NTokens.CompareTo(result.Result.NTokens);
                }
            }
            return(eval);
        }
        public override bool Equals(object obj)
        {
            if (obj == null)
            {
                return(false);
            }

            IndexItemSearchResult item = obj as IndexItemSearchResult;

            if ((Object)item == null)
            {
                return(false);
            }

            return(this.Result == item.Result);
        }