Exemplo n.º 1
0
        /// <summary>
        /// Path Combine
        /// </summary>
        /// <param name="path1"></param>
        /// <param name="path2"></param>
        /// <returns></returns>
        public static string PathCombine(string path1, string path2)
        {
            if (path2.Length == 0)
            {
                return(path1);
            }
            if (path1.Length == 0)
            {
                return(path2);
            }

            string path = string.Empty;
            char   c2   = path2[0];
            char   c    = path1[path1.Length - 1];

#if HUGULA_GSTRING
            using (GString.Block())
            {
                if (c2 == '\\' && c2 == '/' && c2 == ':')
                {
                    GString gpath2 = path2;
                    path2 = gpath2.Substring(1).Intern();//path2.Substring(1);
                }

                if (c != '\\' && c != '/' && c != ':')
                {
                    GString sp = GString.Concat(path1, "/");
                    path = GString.Concat(sp, path2).Intern(); // return path1 + "/" + path2;
                }
                else
                {
                    path = GString.Concat(path1, path2).Intern();
                }
            }
#else
            if (c2 == '\\' && c2 == '/' && c2 == ':')
            {
                path2 = path2.Substring(1);
            }

            if (c != '\\' && c != '/' && c != ':')
            {
                path = path1 + "/" + path2;
            }
            else
            {
                path = path1 + path2;
            }
#endif
            return(path);
        }