예제 #1
0
        /// <summary>
        /// Получение структуры tNode из структуры Node.
        /// </summary>
        private static tNode BuildFromNode(Node?innode)
        {
            var innodeval = innode.Value;
            var node      = new tNode();

            node.ID        = innodeval.ID;
            node.Level     = innodeval.Level;
            node.index     = innodeval.Index;
            node.linktype  = innodeval.Linktype;
            node.parentind = innodeval.Parentind;
            return(node);
        }
예제 #2
0
        /// <summary>
        /// Добавление синт.узла во внутреннее хранилище.
        /// </summary>
        /// <param name="order">порядковый номер слова (ребёнка в синт.связи) в предложении</param>
        /// <param name="Level">Уровень вложенности синтаксического узла</param>
        /// <param name="linktype">тип взаимосвязи с родителем</param>
        /// <param name="parentind">порядковый номер слова (родителя в синт.связи) в предложении</param>
        /// <returns></returns>
        public void AddNode(int order, int Level, int linktype, int parentind)
        {
            if (Level == -1)
            {
                return;
            }
            int maxID = 0;

            if (treeList.Count > 0)
            {
                maxID = (int)(treeList.OrderByDescending(x => x.ID).First().ID + 1);
            }
            var node = new tNode();

            node.ID        = maxID;
            node.Level     = Level;
            node.index     = order;
            node.linktype  = linktype;
            node.parentind = parentind;
            treeList.Add(node);
        }