Beispiel #1
0
 public CitiesCollection(IEnumerable <City> cities, int minLen, int capacity = 1000)
 {
     _suffixdict = new SuffixDict <City>(minLen, capacity);
     foreach (var c in cities)
     {
         _suffixdict.Add(c.Name, c);
     }
 }
Beispiel #2
0
 public CitiesCollection(IEnumerable <City> cities, int minLen)
 {
     _cities     = cities.ToDictionary(c => c.Id);
     _suffixdict = new SuffixDict <int>(minLen, _cities.Values.Count);
     foreach (var c in _cities.Values)
     {
         _suffixdict.Add(c.Name, c.Id);
     }
 }
Beispiel #3
0
    public IEnumerable <City> Find(string find, StringComparison stringComparison = StringComparison.OrdinalIgnoreCase)
    {
        var normalizedFind = SuffixDict <City> .NormalizeString(find);

        var x = _suffixdict.GetDistinct(normalizedFind).ToArray();

        foreach (var city in _suffixdict.GetDistinct(normalizedFind).Where(v => v.Name.IndexOf(normalizedFind, stringComparison) >= 0))
        {
            yield return(city);
        }
    }
 public CitiesCollection(IEnumerable <City> cities, int minLen, int capacity = 1000)
 {
     _suffixdict = new SuffixDict <City>(minLen, _comparer, capacity);
     _countries  = new HashSet <string>();
     _cities     = new Dictionary <int, City>(capacity);
     foreach (var c in cities)
     {
         _suffixdict.Add(c.Name, c);
         _countries.Add(c.Country);
         _cities.Add(c.Id, c);
     }
 }