Exemple #1
0
            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);
            }
Exemple #2
0
        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();
        }