C#应用函数

来源:互联网 发布:wordexcel办公软件 编辑:程序博客网 时间:2024/04/29 07:33

1、页面写CS代码(代码内嵌)

2、获取时间间隔

3、遍历Url中的参数列表

4、清除文本HTML码

5、反射 通过类名创建类实例

6、货币类型转换

7、小数点位数

8、使用TryGetValue改善获取字典值得性能

1、页面写CS代码(代码内嵌)

<%@ Import Namespace="System" %><%@ Import Namespace="System.Collections.Generic" %><Script runat="server">    public int userId = 0;    protected void Page_Load(object sender, EventArgs e)    {        userId =Convert.ToInt32(Request.QueryString["UserID"]);        Response.Write(userId);    }</Script><%    if (userId > 0){        msg = "欢迎登录!";    }    else {        msg = "未找到用户";    }%><%= this.msg %>
2、获取时间间隔
/// <summary>/// 获取时间间隔(模拟微博发布文章的时间间隔)/// </summary>/// <param name="date"></param>/// <returns></returns>public string GetDateStr(DateTime date){    if (date < DateTime.Now)    {        TimeSpan ts = DateTime.Now - date;        if (ts.TotalHours < 1 && ts.TotalMinutes < 1)        {            return "1分钟前";        }        else if (ts.TotalHours < 1 && ts.TotalMinutes > 0)        {            return Convert.ToInt32(ts.TotalMinutes) + "分钟前";        }        else if (ts.TotalHours < 4)        {            return Convert.ToInt32(ts.TotalHours) + "小时前";        }        else if (DateTime.Now.Date == date.Date)        {            return date.ToString("HH:mm");        }        else        {            return date.ToString("yyyy-MM-dd");        }    }    return date.ToString("yyyy-MM-dd");}

3、遍历Url中的参数列表

/// <summary>/// 遍历Url中的参数列表/// </summary>/// <returns>如:(?userId=43&userType=2)</returns>public string GetUrlParam(){    string urlParam = "";    if (Request.QueryString.Count > 0)    {        urlParam = "?";        NameValueCollection keyVals = Request.QueryString;        foreach (string key in keyVals.Keys)        {            urlParam += key + "=" + keyVals[key] + "&";        }        urlParam = urlParam.Substring(0, urlParam.LastIndexOf('&'));    }    return urlParam;}

4、清除文本HTML码

using System.Text.RegularExpressions;/// <summary>/// 清除文本HTML码/// </summary>public string RemoveHtmlTag(string htmlStr){    if (string.IsNullOrEmpty(htmlStr))        return string.Empty;    return Regex.Replace(htmlStr, @"<[^>]*>", "");}

5、反射 通过类名创建类实例

using System.Reflection;/// <summary>/// 反射 通过类名创建类实例/// </summary>public void ReflecTest(){    Object objClass = Assembly.GetExecutingAssembly().CreateInstance("MyStudy.BLL.BookInfoBLL");  //参数:类的完全限定名,无需类的后缀名     if (objClass != null)    {        BookInfoBLL bll = (BookInfoBLL)objClass;    }}

6、货币类型转换

/// <summary>/// 货币/// </summary>/// <param name="obj"></param>/// <returns></returns>public static string ToMoney(object obj){    return String.Format("{0:C}", obj);}

7、小数点位数

//1.小数点位数string str1 = String.Format("{0:F1}", 56789); //result: 56789.0string str2 = String.Format("{0:F2}", 56789); //result: 56789.00string str3 = String.Format("{0:N1}", 56789); //result: 56,789.0string str4 = String.Format("{0:N2}", 56789); //result: 56,789.00string str5 = String.Format("{0:N3}", 56789); //result: 56,789.000string str6 = (56789 / 100.0).ToString("#.##"); //result: 567.89string str7 = (56789 / 100).ToString("#.##"); //result: 567//2.保留N位,四舍五入 .       decimal d= decimal.Round(decimal.Parse("0.55555"),2);//3.保留N位四舍五入Math.Round(0.55555, 2);

8、使用TryGetValue改善获取字典值得性能

使用TryGetValue在大量取值时性能比ContainsKey提高一倍。

Dictionary<int, String> dic = new Dictionary<int, String>();dic.Add(1,"张三");dic.Add(2,"李四");string name = "";//错误写法,效率底if (dic.ContainsKey(1)){    name = dic[1];    Console.WriteLine(name);}//正确写法,效率提高一倍if (dic.TryGetValue(1, out name)){    Console.WriteLine(name);}

原创粉丝点击