Esempio n. 1
0
        /// <summary>
        /// Tests if <paramref name="tree"/> has a child with key <paramref name="key"/>.
        ///
        /// If <paramref name="key"/> is null, then returns always false.
        /// </summary>
        /// <param name="tree"></param>
        /// <param name="key"></param>
        /// <returns></returns>
        public static bool HasChild(this ILineTree tree, ILine key)
        {
            if (key == null)
            {
                return(false);
            }
            if (!tree.HasChildren)
            {
                return(false);
            }
            IEnumerable <ILineTree> children = tree.GetChildren(key);

            if (children == null)
            {
                return(false);
            }
            return(children.Count() > 0);
        }
Esempio n. 2
0
 /// <summary>
 /// Search child by key.
 /// </summary>
 /// <param name="tree"></param>
 /// <param name="key"></param>
 /// <returns>child node or null if was not found</returns>
 public static ILineTree GetChild(this ILineTree tree, ILine key)
 => tree.GetChildren(key)?.FirstOrDefault();