很适用的几个函数

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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值