public static int[] FindAllDots(string s) { int num = DomainMatchMap <T> .CountDots(s); int[] array = new int[num]; int num2 = s.IndexOf('.'); int num3 = 0; while (num2 != -1) { array[num3] = num2; num2 = s.IndexOf('.', num2 + 1); num3++; } return(array); }
public DomainMatchMap(IList <T> entries) { this.exact = new Dictionary <DomainMatchMap <T> .SubString, T>(entries.Count); this.wildcard = new Dictionary <DomainMatchMap <T> .SubString, T>(entries.Count); foreach (T value in entries) { if (value.DomainName.SmtpDomain == null) { this.star = value; } else { int num = DomainMatchMap <T> .CountDots(value.DomainName.Domain); if (num > this.maxDots) { this.maxDots = num; } DomainMatchMap <T> .SubString key = new DomainMatchMap <T> .SubString(value.DomainName.Domain, 0); if (value.DomainName.IncludeSubDomains) { this.wildcard[key] = value; if (!this.exact.ContainsKey(key)) { this.exact.Add(key, value); } } else { this.exact[key] = value; } } } this.maxDots++; }