public ChineseNode AddNode(char chinese, int index) { ChineseNode node; if (ChineseNodes.TryGetValue(chinese, out node) == false) { node = new ChineseNode(); ChineseNodes.Add(chinese, node); node.RangeStart = index; } node.RangeEnd = index; return(node); }
private void buildKeywords(List <string> keySorts, List <string> keywords) { _root = new ChineseNode(); List <int> indexs = new List <int>(); for (int i = 0; i < keySorts.Count; i++) { var sp = keySorts[i].Split(wordsSpace); //var str = ""; var range = _root; for (int j = 0; j < sp.Length - 1; j++) { var s = sp[j].Split(pinYinSpace); range = range.AddNode(s[0][0], s[1], s[2][0], i); //str += s[2]; } indexs.Add(int.Parse(sp[sp.Length - 1])); } _keywords = keywords.ToArray(); _indexs = indexs.ToArray(); }