public bool Add(TK key, TV value, int[] index, int level) { if (level < index.Length) { var pos = index[level]; if (_children[pos] == null) { _children[pos] = _settings.TrieBuilder(); } var node = _children[pos]; return(node.Add(key, value, index, level + 1)); } return(AddValue(key, value)); }
public bool Add(TK key, TV value, TI[] index, int level) { if (level < index.Length) { var pos = index[level]; ITrieNode <TK, TV, TI> node; if (!_children.TryGetValue(pos, out node)) { node = _settings.TrieBuilder(); _children.Add(pos, node); } return(node.Add(key, value, index, level + 1)); } return(AddValue(key, value)); }