Beispiel #1
0
        Find(string suffix, FindModeEnum findMode = FindModeEnum.IgnoreCase)
        {
            suffix = CorrectFindSuffix(suffix, findMode);

            var tuple = new tuple_t()
            {
                Suffix = suffix
            };
            var bpt_tuples = _BPT.GetValues(tuple, StartsWithStringComparer.Inst);

            foreach (var bpt_tuple in bpt_tuples)
            {
                foreach (var data in bpt_tuple.Data)
                {
                    var word     = _StringValueGetter.GetStringValue(_Objects[data.ObjIndex]);
                    var endIndex = data.SuffixIndex + suffix.Length;
                    if (endIndex <= word.Length)
                    {
                        yield return(find_result_t.Create(data.ObjIndex, word, data.SuffixIndex, suffix.Length));
                    }
                }
            }
        }