很适用的几个函数

    技术2022-05-13  21

    private static string applicationPath = null;        private static string applicationPhysicalPath = null;        /// <summary>        /// 返回当前Web应用程序的根虚拟目录,结尾不带斜杠/。        /// </summary>        public static string ApplicationPath        {            get            {                if (applicationPath == null) { return VirtualPathUtility.ToAbsolute("~").TrimEnd('/'); //优点:不依赖于HttpContext.Current是否为空                }                return applicationPath;            }        }        /// <summary>        /// 返回当前Web应用程序的根物理目录,结尾不带斜杠/。        /// </summary>        public static string ApplicationPhysicalPath        {            get            {                if (applicationPhysicalPath == null)                {                    applicationPhysicalPath = AppDomain.CurrentDomain.BaseDirectory.Replace("/", Path.DirectorySeparatorChar.ToString()).TrimEnd(Path.DirectorySeparatorChar);                }                return applicationPhysicalPath;            }        }        /// <summary>        /// 将虚拟目录映射为物理目录。        /// </summary>        public static string MapPath(string virtualPath)        {            return string.Concat            (                ApplicationPhysicalPath.TrimEnd(Path.DirectorySeparatorChar),                Path.DirectorySeparatorChar.ToString(),                virtualPath.Replace("/", Path.DirectorySeparatorChar.ToString()).Replace("~", "").TrimStart(Path.DirectorySeparatorChar)            );        }        /// <summary>        /// 将一个对象转换为另外一个给定的类型        /// </summary>        public static T ChangeType<T>(object value)        {            if (value == null)            {                return default(T);            }            TypeConverter tc = TypeDescriptor.GetConverter(typeof(T));            if (tc.CanConvertFrom(value.GetType()))            {                return (T)tc.ConvertFrom(value);            }            else            {                return (T)Convert.ChangeType(value, typeof(T));            }        }

     

    // 取得字符串字节长度        public static int GetByteLength(string asSource, string asCharset)        {            if (asSource == null || asSource.Length == 0)            {                return 0;            }            Encoding oEncoding;            if (asCharset.Length != 0)            {                oEncoding = Encoding.GetEncoding(asCharset);            }            else            {                oEncoding = Encoding.Default;            }            return oEncoding.GetByteCount(asSource);        }


    最新回复(0)